3 ms·
Fastrange: A fast alternative to the modulo reduction
- dmitrygr 10y agoThis is how we've been doing division by a constant in the embedded world since...forever this is so well known in fact that arm gcc defaults to this when a proper constant exists if you do division or modulus operator...
- lvs 10y agoI was going to say, this is an ancient and well-known optimization. I have no idea how old it is, but I would venture it's been a regular practice for at least two decades.
- rkwasny 10y agoShouldn't a good compiler apply this type of optimisations?
- AstralStorm 10y agoIt generally does. (GCC, Clang and ICC) But it cannot simplify the operation on some architectures or when the factor is variable. The "fastrange" is a very different operation on prime factors than modulo.