ring_algorithm

Function chinese_remainder_theorem

Source
pub fn chinese_remainder_theorem<T>(u: &[T], m: &[T]) -> Option<T>
Expand description

Chinese remainder theorem

use ring_algorithm::chinese_remainder_theorem;
let u = vec![2, 3, 2];
let m = vec![3, 5, 7];
let a = chinese_remainder_theorem::<i32>(&u, &m).unwrap();
for (u, m) in u.iter().zip(m.iter()) {
    assert_eq!((a - u) % m, 0);
}