Function ring_algorithm::modulo_inverse [−][src]
pub fn modulo_inverse<T>(a: T, m: T) -> Option<T> where
T: Sized + Eq + Zero + One + RingNormalize,
for<'x> &'x T: EuclideanRingOperation<T>,
Expand description
calc inverse in modulo
calc x ($ax \equiv 1 \pmod{m}
$)
use ring_algorithm::modulo_inverse;
let a = 42;
let m = 55;
let b = modulo_inverse::<i32>(a, m).unwrap();
assert_eq!((a * b - 1) % m, 0);