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 ark_ff::{
 2    fields::fp6_2over3::{Fp6, Fp6Config},
 3    AdditiveGroup, Field, MontFp,
 4};
 5
 6use crate::{Fq, Fq3, Fq3Config};
 7
 8pub type Fq6 = Fp6<Fq6Config>;
 9
10pub struct Fq6Config;
11
12impl Fp6Config for Fq6Config {
13    type Fp3Config = Fq3Config;
14
15    const NONRESIDUE: Fq3 = Fq3::new(Fq::ZERO, Fq::ONE, Fq::ZERO);
16
17    const FROBENIUS_COEFF_FP6_C1: &'static [Fq] = &[
18        Fq::ONE,
19        MontFp!("471738898967521029133040851318449165997304108729558973770077319830005517129946578866686957"),
20        MontFp!("471738898967521029133040851318449165997304108729558973770077319830005517129946578866686956"),
21        MontFp!("475922286169261325753349249653048451545124878552823515553267735739164647307408490559963136"),
22        MontFp!("4183387201740296620308398334599285547820769823264541783190415909159130177461911693276180"),
23        MontFp!("4183387201740296620308398334599285547820769823264541783190415909159130177461911693276181"),
24    ];
25}