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::{rand::Rng, test_rng};
6
7use crate::*;
8use ark_algebra_test_templates::{fields::*, generate_field_test};
9
10use core::ops::{AddAssign, MulAssign, SubAssign};
11
12generate_field_test!(mnt6_298;);
13
14#[test]
15fn test_fq3() {
16 let mut rng = test_rng();
17 let a: Fq3 = rng.gen();
18 let b: Fq3 = rng.gen();
19 field_test(a, b);
20 sqrt_field_test(a);
21 frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
22 assert_eq!(
23 a * Fq6Parameters::NONRESIDUE,
24 <Fp6ParamsWrapper<Fq6Parameters>>::mul_base_field_by_nonresidue(&a)
25 );
26}
27
28#[test]
29fn test_fq6() {
30 let mut rng = test_rng();
31 let a: Fq6 = rng.gen();
32 let b: Fq6 = rng.gen();
33 field_test(a, b);
34 frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
35}