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}