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_algebra_test_templates::{
 2    fields::*, generate_field_serialization_test, generate_field_test,
 3};
 4use ark_ff::{
 5    fields::{models::fp6_2over3::*, quadratic_extension::QuadExtConfig},
 6    Field, PrimeField,
 7};
 8use ark_serialize::{buffer_bit_byte_size, CanonicalSerialize};
 9use ark_std::{rand::Rng, test_rng, One, UniformRand, Zero};
10use core::ops::{AddAssign, MulAssign, SubAssign};
11
12use crate::*;
13
14generate_field_test!(mnt6_298; fq3; fq6_2_on_3; mont(5, 5); );
15generate_field_serialization_test!(mnt6_298;);
16
17#[test]
18fn test_fq3_more() {
19    let mut rng = test_rng();
20    let a: Fq3 = rng.gen();
21    let b: Fq3 = rng.gen();
22    field_test(a, b);
23    sqrt_field_test(a);
24    frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
25    assert_eq!(
26        a * Fq6Config::NONRESIDUE,
27        <Fp6ConfigWrapper<Fq6Config>>::mul_base_field_by_nonresidue(&a)
28    );
29}