Faster remainders when the divisor is a constant: beating compilers and libdivide
Daniel Lemire
FEBRUARY 8, 2019
The division by a power of two ( / (2 N )) can be implemented as a right shift if we are working with unsigned integers, which compiles to single instruction: that is possible because the underlying hardware uses a base 2. Of course, if d is not a power of two, 2 N / d cannot be represented as an integer. if ( ( i % 3 ) = = 0 ).
Let's personalize your content