arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/bw6_761/src/fields/fq6.rs
bw6_761/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, "4922464560225523242118178942575080391082002530232324381063048548642823052024664478336818169867474395270858391911405337707247735739826664939444490469542109391530482826728203582549674992333383150446779312029624171857054392282775649"),
22        field_new!(Fq, "4922464560225523242118178942575080391082002530232324381063048548642823052024664478336818169867474395270858391911405337707247735739826664939444490469542109391530482826728203582549674992333383150446779312029624171857054392282775648"),
23        field_new!(Fq, "-1"),
24        field_new!(Fq, "1968985824090209297278610739700577151397666382303825728450741611566800370218827257750865013421937292370006175842381275743914023380727582819905021229583192207421122272650305267822868639090213645505120388400344940985710520836292650"),
25        field_new!(Fq, "1968985824090209297278610739700577151397666382303825728450741611566800370218827257750865013421937292370006175842381275743914023380727582819905021229583192207421122272650305267822868639090213645505120388400344940985710520836292651"),
26    ];
27}