arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/cp6_782/src/fields/fq6.rs
cp6_782/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    /// NONRESIDUE = (0, 1, 0).
15    #[rustfmt::skip]
16    const NONRESIDUE: Fq3 = field_new!(Fq3, FQ_ZERO, FQ_ONE, FQ_ZERO);
17
18    #[rustfmt::skip]
19    const FROBENIUS_COEFF_FP6_C1: &'static [Fq] = &[
20        field_new!(Fq, "1"),
21        field_new!(Fq, "2416169158604010336818399199316106389588878314690767988978701685873498866746813334102117883272276610365242925950967572554030909749205624998805208910209389668659757274773858916683688639755413288353778854399286396639505385648830027756862"),
22        field_new!(Fq, "2416169158604010336818399199316106389588878314690767988978701685873498866746813334102117883272276610365242925950967572554030909749205624998805208910209389668659757274773858916683688639755413288353778854399286396639505385648830027756861"),
23        field_new!(Fq, "22369874298875696930346742206501054934775599465297184582183496627646774052458024540232479018147881220178054575403841904557897715222633333372134756426301062487682326574958588001132586331462553235407484089304633076250782629492557320825576"),
24        field_new!(Fq, "19953705140271686593528343007184948545186721150606416593204794941773275185711211206130361134875604609812811649452874332003866805473427708373329547516091672819022569300184729084448897691707139947053705234905346679611277243843727293068715"),
25        field_new!(Fq, "19953705140271686593528343007184948545186721150606416593204794941773275185711211206130361134875604609812811649452874332003866805473427708373329547516091672819022569300184729084448897691707139947053705234905346679611277243843727293068716"),
26    ];
27}