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