Hi, I came across an interesting article [1] which talks about a faster alternative to the mod operation (x % N) for mapping a number to a fixed range, such as [0, N), which is common when we want to generate random numbers within a given range, or map a hash value to a range of indices in an array.
It says divisions are more expensive as compared to multiplications, so instead of doing x % N, we can use (x * N) >> 32. Both operations are not _equivalent_ but he proves that the latter is also a fair mapping of x in the range [0, N) for 32 bit integers. Is this result useful? For example I saw that rand(3) uses the % operation to map the value in the range of RAND_MAX. [1]: http://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/ - Abhinav