We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi there,
I tried to pass a 128-bit integer as the key to sort the sequence, but it returned the following errors:
[ 95%] Built target tlx Scanning dependencies of target ips2ra_example [ 97%] Building CXX object CMakeFiles/ips2ra_example.dir/src/example.cpp.o In file included from /home/xdong038/GitHub/ips2ra/extern/tlx/tlx/math.hpp:26, from /home/xdong038/GitHub/ips2ra/include/ips2ra/sampling.hpp:44, from /home/xdong038/GitHub/ips2ra/include/ips2ra/sequential.hpp:44, from /home/xdong038/GitHub/ips2ra/include/ips2ra/parallel.hpp:58, from /home/xdong038/GitHub/ips2ra/include/ips2ra/ips2ra.hpp:46, from /home/xdong038/GitHub/ips2ra/include/ips2ra.hpp:38, from /home/xdong038/GitHub/ips2ra/src/example.cpp:48: /home/xdong038/GitHub/ips2ra/extern/tlx/tlx/math/clz.hpp:41:17: warning: inline function ‘unsigned int tlx::clz(Integral) [with Integral = __int128 unsigned]’ used but never defined inline unsigned clz(Integral x); ^~~ In file included from /home/xdong038/GitHub/ips2ra/extern/tlx/tlx/math.hpp:27, from /home/xdong038/GitHub/ips2ra/include/ips2ra/sampling.hpp:44, from /home/xdong038/GitHub/ips2ra/include/ips2ra/sequential.hpp:44, from /home/xdong038/GitHub/ips2ra/include/ips2ra/parallel.hpp:58, from /home/xdong038/GitHub/ips2ra/include/ips2ra/ips2ra.hpp:46, from /home/xdong038/GitHub/ips2ra/include/ips2ra.hpp:38, from /home/xdong038/GitHub/ips2ra/src/example.cpp:48: /home/xdong038/GitHub/ips2ra/extern/tlx/tlx/math/ctz.hpp:41:17: warning: inline function ‘unsigned int tlx::ctz(Integral) [with Integral = __int128 unsigned]’ used but never defined inline unsigned ctz(Integral x); ^~~ [100%] Linking CXX executable ips2ra_example CMakeFiles/ips2ra_example.dir/src/example.cpp.o: In function ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> >::parallelGetLevels(std::pair<unsigned __int128, unsigned __int128>*, std::pair<unsigned __int128, unsigned __int128>*, std::vector<unsigned __int128, std::allocator<unsigned __int128> >&, ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> ><bool, std::allocator<bool> >&, int, int) [clone .constprop.947]': example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE17parallelGetLevelsES5_S5_RSt6vectorIoSaIoEERSQ_IbSaIbEEii.constprop.947[_ZZN6ips2ra14ParallelSorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS2_IT_S8_ENS6_9allocatorIS9_EEXsrSt7is_sameIS9_cE5valueEEEEUlRKS3_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEEclES4_S4_ENKUliiE_clEii]+0x307): undefined reference to unsigned int tlx::clz(unsigned __int128)' example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE17parallelGetLevelsES5_S5_RSt6vectorIoSaIoEERSQ_IbSaIbEEii.constprop.947[_ZZN6ips2ra14ParallelSorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS2_IT_S8_ENS6_9allocatorIS9_EEXsrSt7is_sameIS9_cE5valueEEEEUlRKS3_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEEclES4_S4_ENKUliiE_clEii]+0x315): undefined reference to unsigned int tlx::ctz<unsigned __int128>(unsigned __int128)' CMakeFiles/ips2ra_example.dir/src/example.cpp.o: In function ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>, test(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> >::sampleLevels(std::pair<unsigned __int128, unsigned __int128>, std::pair<unsigned __int128, unsigned __int128>*)': example.cpp:(.text.ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5[ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5]+0x14b): undefined reference to unsigned int tlx::clz<unsigned __int128>(unsigned __int128)' example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5_[_ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5_]+0x159): undefined reference to unsigned int tlx::ctz(unsigned __int128)' CMakeFiles/ips2ra_example.dir/src/example.cpp.o: In function ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> >::sequentialGetLevels(std::pair<unsigned __int128, unsigned __int128>*, std::pair<unsigned __int128, unsigned __int128>*)': example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5_[_ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5_]+0x13d): undefined reference to unsigned int tlx::clz(unsigned __int128)' example.cpp:(.text.ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5[ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5]+0x14b): undefined reference to `unsigned int tlx::ctz(unsigned __int128)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/ips2ra_example.dir/build.make:107: ips2ra_example] Error 1 make[1]: *** [CMakeFiles/Makefile2:133: CMakeFiles/ips2ra_example.dir/all] Error 2 make: *** [Makefile:149: all] Error 2
ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> >::parallelGetLevels(std::pair<unsigned __int128, unsigned __int128>*, std::pair<unsigned __int128, unsigned __int128>*, std::vector<unsigned __int128, std::allocator<unsigned __int128> >&, ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> ><bool, std::allocator<bool> >&, int, int) [clone .constprop.947]': example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE17parallelGetLevelsES5_S5_RSt6vectorIoSaIoEERSQ_IbSaIbEEii.constprop.947[_ZZN6ips2ra14ParallelSorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS2_IT_S8_ENS6_9allocatorIS9_EEXsrSt7is_sameIS9_cE5valueEEEEUlRKS3_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEEclES4_S4_ENKUliiE_clEii]+0x307): undefined reference to
unsigned int tlx::ctz<unsigned __int128>(unsigned __int128)' CMakeFiles/ips2ra_example.dir/src/example.cpp.o: In function
unsigned int tlx::clz<unsigned __int128>(unsigned __int128)' example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5_[_ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE12sampleLevelsES5_S5_]+0x159): undefined reference to
ips2ra::detail::Sorter<ips2ra::ExtendedConfig<std::pair<unsigned __int128, unsigned __int128>*, test<unsigned __int128>(parlay::sequence<std::pair<unsigned __int128, unsigned __int128>, parlay::allocator<std::pair<unsigned __int128, unsigned __int128> >, std::is_same<std::pair<unsigned __int128, unsigned __int128>, char>::value> const&)::{lambda(std::pair<unsigned __int128, unsigned __int128> const&)#1}, ips2ra::Config<32l, 128l, 2048l, 1024l, 8l, 2048l, long, 4096ul, 8, 4l, 20, 7>, ips2ra::OpenMPThreadPool> >::sequentialGetLevels(std::pair<unsigned __int128, unsigned __int128>*, std::pair<unsigned __int128, unsigned __int128>*)': example.cpp:(.text._ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5_[_ZN6ips2ra6detail6SorterINS_14ExtendedConfigIPSt4pairIooEZ4testIoEdRKN6parlay8sequenceIS3_IT_S9_ENS7_9allocatorISA_EEXsrSt7is_sameISA_cE5valueEEEEUlRKS4_E_NS_6ConfigILl32ELl128ELl2048ELl1024ELl8ELl2048ElLm4096ELi8ELl4ELi20ELi7EEENS_16OpenMPThreadPoolEEEE19sequentialGetLevelsES5_S5_]+0x13d): undefined reference to
Do you consider adding 128-bit support to your library?
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hi there,
I tried to pass a 128-bit integer as the key to sort the sequence, but it returned the following errors:
Do you consider adding 128-bit support to your library?
The text was updated successfully, but these errors were encountered: