arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/mnt6_298/src/fields/fq6.rs
mnt6_298/src/fields/fq6.rsRaw
 1use crate::{Fq, Fq3, Fq3Parameters, FQ_ONE, FQ_ZERO};
 2use ark_ff::{
 3    field_new,
 4    fields::fp6_2over3::{Fp6, Fp6Parameters},
 5};
 6
 7pub type Fq6 = Fp6<Fq6Parameters>;
 8
 9pub struct Fq6Parameters;
10
11impl Fp6Parameters for Fq6Parameters {
12    type Fp3Params = Fq3Parameters;
13
14    const NONRESIDUE: Fq3 = field_new!(Fq3, FQ_ZERO, FQ_ONE, FQ_ZERO);
15
16    const FROBENIUS_COEFF_FP6_C1: &'static [Fq] = &[
17        field_new!(Fq, "1"),
18        field_new!(Fq, "471738898967521029133040851318449165997304108729558973770077319830005517129946578866686957"),
19        field_new!(Fq, "471738898967521029133040851318449165997304108729558973770077319830005517129946578866686956"),
20        field_new!(Fq, "475922286169261325753349249653048451545124878552823515553267735739164647307408490559963136"),
21        field_new!(Fq, "4183387201740296620308398334599285547820769823264541783190415909159130177461911693276180"),
22        field_new!(Fq, "4183387201740296620308398334599285547820769823264541783190415909159130177461911693276181"),
23    ];
24}