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