INNER CODE UNIT · Rust
test_batch_inversion_allow_zeros_spans_fixed_chunks
0xMiden/crypto · miden-crypto/src/lib.rs:249
fn test_batch_inversion_allow_zeros_spans_fixed_chunks() {
let mut v: Vec<Felt> = (1_u64..=2050).map(Felt::new_unchecked).collect();
let expected: Vec<Felt> = v.iter().copied().map(|x| x.inverse()).collect();
batch_inversion_allow_zeros(&mut v);
assert_eq!(v, expected);
}
#[test]
fn test_batch_inversion_allow_zeros_zero_on_chunk_boundary() {
let mut v = vec![Felt::new_unchecked(7); 1025];
v[1023] = ZERO;
batch_inversion_allow_zeros(&mut v);
assert_eq!(v[1023], ZERO);
for i in (0..1023).chain(1024..1025) {
assert_eq!(v[i], Felt::new_unchecked(7).inverse());
}
}
}