1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use crate::Int;
pub fn main(a: &Int, b: &Int) -> Int {
if a == &Int::zero() {
Int::zero()
}
else if b == &Int::zero() {
panic!("a/0 is undefined!")
}
else {
let mut res = a % b;
while res < Int::zero() {
res += b.clone()
}
res
}
}