Commit 7b4323e1 authored by Junekey Jeon's avatar Junekey Jeon Committed by Victor Zverovich

Add rotr

parent f1bd6f77
......@@ -816,6 +816,16 @@ struct uint128_wrapper {
}
};
// Compilers should be able to optimize this into the ror instruction.
inline std::uint32_t rotr(uint32_t n, uint32_t r) noexcept {
r &= 31;
return (n >> r) | (n << (32 - r));
}
inline std::uint64_t rotr(uint64_t n, uint32_t r) noexcept {
r &= 63;
return (n >> r) | (n << (64 - r));
}
// Implementation of Dragonbox algorithm: https://github.com/jk-jeon/dragonbox.
namespace dragonbox {
// Computes 128-bit result of multiplication of two 64-bit unsigned integers.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment