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 Field,
4};
5use ark_std::test_rng;
6use rand::Rng;
7
8use crate::*;
9
10use ark_algebra_test_templates::fields::*;
11
12#[test]
13fn test_fr() {
14 let mut rng = test_rng();
15 let a: Fr = rng.gen();
16 let b: Fr = rng.gen();
17 field_test(a, b);
18 sqrt_field_test(a);
19 primefield_test::<Fr>();
20}
21
22#[test]
23fn test_fq() {
24 let mut rng = test_rng();
25 let a: Fq = rng.gen();
26 let b: Fq = rng.gen();
27 field_test(a, b);
28 sqrt_field_test(a);
29 primefield_test::<Fq>();
30}
31
32#[test]
33fn test_fq3() {
34 let mut rng = test_rng();
35 let a: Fq3 = rng.gen();
36 let b: Fq3 = rng.gen();
37 field_test(a, b);
38 sqrt_field_test(a);
39 frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
40 assert_eq!(
41 a * Fq6Parameters::NONRESIDUE,
42 <Fp6ParamsWrapper<Fq6Parameters>>::mul_base_field_by_nonresidue(&a)
43 );
44}
45
46#[test]
47fn test_fq6() {
48 let mut rng = test_rng();
49 let a: Fq6 = rng.gen();
50 let b: Fq6 = rng.gen();
51 field_test(a, b);
52 frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
53}