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