summaryrefslogtreecommitdiff
path: root/src/utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.rs')
-rw-r--r--src/utils.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/utils.rs b/src/utils.rs
new file mode 100644
index 0000000..ef09d54
--- /dev/null
+++ b/src/utils.rs
@@ -0,0 +1,15 @@
+pub fn pymod(a: isize, b: isize) -> isize {
+ let r = a % b;
+ // If r and b differ in sign, add b to wrap the result to the correct sign.
+ if (r > 0 && b < 0) || (r < 0 && b > 0) {
+ return r + b;
+ }
+ r
+}
+
+pub fn is_some_and_not_empty<T>(v: &Option<Vec<T>>) -> bool {
+ match v {
+ Some(v) => !v.is_empty(),
+ None => false,
+ }
+}