Function ring_algorithm::normalized_extended_euclidian_algorithm [−][src]
pub fn normalized_extended_euclidian_algorithm<T>(x: T, y: T) -> (T, T, T) where
T: Sized + Zero + One + RingNormalize,
for<'x> &'x T: EuclideanRingOperation<T>,
Expand description
extended euclidian algorithm with normalize
use ring_algorithm::{gcd, normalized_extended_euclidian_algorithm, RingNormalize};
let a = 314;
let b = 271;
let (d, x, y) = normalized_extended_euclidian_algorithm::<i32>(a, b);
assert_eq!(d, gcd::<i32>(a, b));
assert_eq!(d, x * a + y * b);