ark-curves-cherry-picked/mnt6_298/src/fields/tests.rs
mnt6_298/src/fields/tests.rsRaw
1use ark_ff::{
2 fields::{models::fp6_2over3::*, quadratic_extension::QuadExtParameters},
3 test_rng, Field,
4};
5use rand::Rng;
6
7use crate::*;
8
9use ark_curve_tests::fields::*;
10
11#[test]
12fn test_fr() {
13 let mut rng = test_rng();
14 let a: Fr = rng.gen();
15 let b: Fr = rng.gen();
16 field_test(a, b);
17 sqrt_field_test(a);
18 primefield_test::<Fr>();
19}
20
21#[test]
22fn test_fq() {
23 let mut rng = test_rng();
24 let a: Fq = rng.gen();
25 let b: Fq = rng.gen();
26 field_test(a, b);
27 sqrt_field_test(a);
28 primefield_test::<Fq>();
29}
30
31#[test]
32fn test_fq3() {
33 let mut rng = test_rng();
34 let a: Fq3 = rng.gen();
35 let b: Fq3 = rng.gen();
36 field_test(a, b);
37 sqrt_field_test(a);
38 frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
39 assert_eq!(
40 a * Fq6Parameters::NONRESIDUE,
41 <Fp6ParamsWrapper<Fq6Parameters>>::mul_base_field_by_nonresidue(&a)
42 );
43}
44
45#[test]
46fn test_fq6() {
47 let mut rng = test_rng();
48 let a: Fq6 = rng.gen();
49 let b: Fq6 = rng.gen();
50 field_test(a, b);
51 frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
52}