4constexpr uint32_t rshift_round(uint32_t value, uint32_t rshift) {
5 return (value + (1 << (rshift - 1))) >> rshift;
8constexpr int32_t rshift_round_signed(int32_t value, uint32_t rshift) {
9 return (value + (1 << (rshift - 1))) >> rshift;
13inline constexpr int32_t mod(int32_t a, int32_t b) {
14 return ((a % b) + b) % b;