====== mod ======
{{tag>math}}
''num mod(num a, num b)''
[[:types|num - any numeric type (int or fixed)]]
===== Description =====
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.
===== Examples =====
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
Using mod to implement menu cycling easily:
if (KeyPressed(BT_DOWN))
menuindex++;
if (KeyPressed(BT_UP))
menuindex--;
menuindex = mod(menuindex, NUM_MENU_ITEMS);