From 64f760c1483ad1b34c79557faa5fc27c2d86103d Mon Sep 17 00:00:00 2001
From: Christian Helbling
Date: Mon, 23 May 2016 17:27:25 +0200
Subject: add it::mod which returns modulo as a positive number

---
 it.class   | 8 ++++++++
 tests/it.t | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/it.class b/it.class
index 9ade3a0..0ea9a2f 100644
--- a/it.class
+++ b/it.class
@@ -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;
+}
+
 }
diff --git a/tests/it.t b/tests/it.t
index 4fd848b..3688d2a 100755
--- a/tests/it.t
+++ b/tests/it.t
@@ -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);
-- 
cgit v1.2.3