Sqrt fq2 bls12 381 regression (#89)

Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
This commit is contained in:
Marcin
2022-01-11 18:28:17 +01:00
committed by GitHub
parent 6a5cf1d84a
commit d0dc200f22

View File

@@ -1117,6 +1117,19 @@ fn test_fq_repr_add_nocarry() {
assert!(x.is_zero());
}
#[test]
fn test_fq2_sqrt() {
// 1 has a sqrt in the base field
let fq2_sqrt = Fq2::new(Fq::one(), Fq::zero()).sqrt().unwrap();
assert_eq!(fq2_sqrt.c0, Fq::one());
assert_eq!(fq2_sqrt.c1, Fq::zero());
// -1 has no sqrt in the base field, but should be valid in Fq2
let fq2_sqrt = Fq2::new(-Fq::one(), Fq::zero()).sqrt().unwrap();
assert_eq!(fq2_sqrt.c0, Fq::zero());
assert_eq!(fq2_sqrt.c1, Fq::one());
}
#[test]
fn test_fq_num_bits() {
assert_eq!(FqParameters::MODULUS_BITS, 381);