arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
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}