This is an old revision of the document!
num mod(num a, num b)
This function implements modulo division a % b
, but, unlike the ACS operator, it handles negative values of a
like mathematical modulo, making a
cycle around on the range [0, b)
.
This makes its result safe to use an array index, as the result is not negative for negative values of a
.
Only positive values of b
are supported.
mod(-5, 3) -> 1 mod(-4, 3) -> 2 mod(-3, 3) -> 0 mod(-2, 3) -> 1 mod(-1, 3) -> 2 mod(0, 3) -> 0 mod(1, 3) -> 1 mod(2, 3) -> 2 mod(3, 3) -> 0 mod(4, 3) -> 1 mod(5, 3) -> 2