diff options
author | Christian Helbling | 2016-05-23 17:27:25 +0200 |
---|---|---|
committer | Christian Helbling | 2016-05-23 17:27:25 +0200 |
commit | 64f760c1483ad1b34c79557faa5fc27c2d86103d (patch) | |
tree | 1b4d1c5241f381a0982cdccea9966656f5362c3d | |
parent | 2bb032b36bd7314c7cf478805dec4f30e5624496 (diff) | |
download | itools-64f760c1483ad1b34c79557faa5fc27c2d86103d.tar.gz itools-64f760c1483ad1b34c79557faa5fc27c2d86103d.tar.bz2 itools-64f760c1483ad1b34c79557faa5fc27c2d86103d.zip |
add it::mod which returns modulo as a positive number
-rw-r--r-- | it.class | 8 | ||||
-rwxr-xr-x | tests/it.t | 5 |
2 files changed, 13 insertions, 0 deletions
@@ -1061,4 +1061,12 @@ static function sort($array, $mode = "") return $array; } +/** + * returns $a modulo $n as a positive number between 0 and $n - 1 + */ +static function mod($a, $n) +{ + return (($a % $n) + $n) % $n; +} + } @@ -410,3 +410,8 @@ foreach (array($dummy, false, true, null, 1, "a", "Ä", "/", array()) as $var) is(it::sort(array("2!","19!","1!")), array("1!", "19!", "2!")); is(it::sort(array("2!","19!","1!"), "r"), array("2!", "19!", "1!")); is(it::sort(array("2!","19!","1!"), "rn"), array("19!", "2!", "1!")); + +is(it::mod(-9, 4), 3); +is(it::mod(-8, 4), 0); +is(it::mod(0, 4), 0); +is(it::mod(7, 4), 3); |