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    test_rng, Field,
 4};
 5use rand::Rng;
 6
 7use crate::*;
 8
 9use ark_curve_tests::fields::*;
10
11#[test]
12fn test_fr() {
13    let mut rng = test_rng();
14    let a: Fr = rng.gen();
15    let b: Fr = rng.gen();
16    field_test(a, b);
17    sqrt_field_test(a);
18    primefield_test::<Fr>();
19}
20
21#[test]
22fn test_fq() {
23    let mut rng = test_rng();
24    let a: Fq = rng.gen();
25    let b: Fq = rng.gen();
26    field_test(a, b);
27    sqrt_field_test(a);
28    primefield_test::<Fq>();
29}
30
31#[test]
32fn test_fq3() {
33    let mut rng = test_rng();
34    let a: Fq3 = rng.gen();
35    let b: Fq3 = rng.gen();
36    field_test(a, b);
37    sqrt_field_test(a);
38    frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
39    assert_eq!(
40        a * Fq6Parameters::NONRESIDUE,
41        <Fp6ParamsWrapper<Fq6Parameters>>::mul_base_field_by_nonresidue(&a)
42    );
43}
44
45#[test]
46fn test_fq6() {
47    let mut rng = test_rng();
48    let a: Fq6 = rng.gen();
49    let b: Fq6 = rng.gen();
50    field_test(a, b);
51    frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
52}