File indexing completed on 2025-09-17 08:33:42
0001 #ifndef BOOST_HASH2_DETAIL_ROT_HPP_INCLUDED
0002 #define BOOST_HASH2_DETAIL_ROT_HPP_INCLUDED
0003
0004
0005
0006
0007
0008 #include <boost/config.hpp>
0009 #include <cstdint>
0010
0011 namespace boost
0012 {
0013 namespace hash2
0014 {
0015 namespace detail
0016 {
0017
0018
0019 BOOST_FORCEINLINE constexpr std::uint32_t rotl( std::uint32_t v, int k ) noexcept
0020 {
0021 return ( v << k ) | ( v >> ( 32 - k ) );
0022 }
0023
0024
0025 BOOST_FORCEINLINE constexpr std::uint64_t rotl( std::uint64_t v, int k ) noexcept
0026 {
0027 return ( v << k ) | ( v >> ( 64 - k ) );
0028 }
0029
0030
0031 BOOST_FORCEINLINE constexpr std::uint32_t rotr( std::uint32_t v, int k ) noexcept
0032 {
0033 return ( v >> k ) | ( v << ( 32 - k ) );
0034 }
0035
0036
0037 BOOST_FORCEINLINE constexpr std::uint64_t rotr( std::uint64_t v, int k ) noexcept
0038 {
0039 return ( v >> k ) | ( v << ( 64 - k ) );
0040 }
0041
0042 }
0043 }
0044 }
0045
0046 #endif