35 return (uint32_t)((a + (uint64_t)b - 1) / b);
41 return (T)((a + ((uint64_t)1 << b) - 1) >> b);
58static inline int32_t
fix_mul(int32_t a, int32_t b)
60 int64_t temp = (int64_t)a * (int64_t)b;
62 assert((temp >> 13) <= (int64_t)0x7FFFFFFF);
63 assert((temp >> 13) >= (-(int64_t)0x7FFFFFFF - (int64_t)1));
66 return (int32_t)(temp >> 13);
77 for(l = 0; a > 1; l++)
ResWindow.
Definition CompressedChunkCache.h:36
uint32_t ceildiv(T a, T b)
Divide an integer by another integer and round upwards.
Definition intmath.h:32
static uint32_t floordivpow2(uint32_t a, uint8_t b)
Divide an unsigned integer by a power of 2 and round downwards.
Definition intmath.h:47
static uint8_t floorlog2(uint32_t a)
Get logarithm of an integer and round downwards.
Definition intmath.h:74
T ceildivpow2(T a, uint8_t b)
Definition intmath.h:39
static int32_t fix_mul(int32_t a, int32_t b)
Multiply two fixed-point numbers.
Definition intmath.h:58