fast_multiblock32.hpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* Copyright 2025 Joaquin M Lopez Munoz.
  2. * Distributed under the Boost Software License, Version 1.0.
  3. * (See accompanying file LICENSE_1_0.txt or copy at
  4. * http://www.boost.org/LICENSE_1_0.txt)
  5. *
  6. * See https://www.boost.org/libs/bloom for library home page.
  7. */
  8. #ifndef BOOST_BLOOM_FAST_MULTIBLOCK32_HPP
  9. #define BOOST_BLOOM_FAST_MULTIBLOCK32_HPP
  10. #include <boost/bloom/detail/avx2.hpp>
  11. #include <boost/bloom/detail/neon.hpp>
  12. #include <boost/bloom/detail/sse2.hpp>
  13. #if defined(BOOST_BLOOM_AVX2)
  14. #include <boost/bloom/detail/fast_multiblock32_avx2.hpp>
  15. #elif defined(BOOST_BLOOM_SSE2) /* important that this comes after AVX2 */
  16. #include <boost/bloom/detail/fast_multiblock32_sse2.hpp>
  17. #elif defined(BOOST_BLOOM_LITTLE_ENDIAN_NEON)
  18. #include <boost/bloom/detail/fast_multiblock32_neon.hpp>
  19. #else /* fallback */
  20. #include <boost/bloom/multiblock.hpp>
  21. #include <cstddef>
  22. #include <cstdint>
  23. namespace boost{
  24. namespace bloom{
  25. template<std::size_t K>
  26. using fast_multiblock32=multiblock<std::uint32_t,K>;
  27. } /* namespace bloom */
  28. } /* namespace boost */
  29. #endif
  30. #endif