ark-curves-cherry-picked/bw6_767/src/fields/fq6.rs
bw6_767/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 /// NONRESIDUE = (0, 1, 0)
16 const NONRESIDUE: Fq3 = Fq3::new(Fq::ZERO, Fq::ONE, Fq::ZERO);
17
18 const FROBENIUS_COEFF_FP6_C1: &'static [Fq] = &[
19 Fq::ONE,
20 MontFp!("451452499708746243421442696394275804592767119751118962106882058158528025766103643615697202253207413006991058800455542766924935899310685166148099708594514571753800103096705086912881023032622324847956780035251378028187894066092550171"),
21 MontFp!("451452499708746243421442696394275804592767119751118962106882058158528025766103643615697202253207413006991058800455542766924935899310685166148099708594514571753800103096705086912881023032622324847956780035251378028187894066092550170"),
22 MontFp!("-1"),
23 MontFp!("45145249970874624351989341074938425649635187579061891330552522940808608853609996870081473355016347159316471246898921838485114512270394210846704144343327596979902763990851861938135223607962336094530115195266656782121333243874349260"),
24 MontFp!("45145249970874624351989341074938425649635187579061891330552522940808608853609996870081473355016347159316471246898921838485114512270394210846704144343327596979902763990851861938135223607962336094530115195266656782121333243874349261"),
25 ];
26}