diff options
Diffstat (limited to 'src/utils.rs')
-rw-r--r-- | src/utils.rs | 15 |
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, + } +} |