Update moddiv to use the new signed operators.

This commit is contained in:
2019-01-01 20:48:48 -08:00
parent 6268491168
commit 69312c6a42

View File

@@ -12,8 +12,7 @@ macro_rules! moddiv_impls {
fn moddiv(&self, divisor: &Self, phi: &Self) -> Self fn moddiv(&self, divisor: &Self, phi: &Self) -> Self
{ {
let safe_divisor = divisor % phi; let safe_divisor = divisor % phi;
let unsigned_i = safe_divisor.value.modinv(&phi.value).expect("no modular inverse of moddiv divisor"); let i = safe_divisor.modinv(&phi).expect("no modular inverse of moddiv divisor");
let i = $sname::new(divisor.negative, unsigned_i);
let selfi = i * self; let selfi = i * self;
$sname::from( selfi % $dbl::from(phi) ) $sname::from( selfi % $dbl::from(phi) )
} }