pub type Fq12 = QuadExtField<Fq6>;
Expand description
-GAMMA is a quadratic non-residue in Fp6. Fp12 = Fp6[X]/(X^2 + GAMMA) We introduce the variable w such that w^2 = -GAMMA An element of Fq12, represented by c0 + c1 * w.
Aliased Type§
struct Fq12 { /* private fields */ }
Implementations§
Source§impl Fq12
impl Fq12
pub fn cyclotomic_square(&mut self)
Trait Implementations§
Source§impl<'a, 'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a, 'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
+
operator.Source§impl<'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
+
operator.Source§impl<'a> Add<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a> Add<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
+
operator.Source§impl Add for Fq12
impl Add for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
+
operator.Source§impl<'b> AddAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> AddAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§fn add_assign(&mut self, rhs: &'b Fq12)
fn add_assign(&mut self, rhs: &'b Fq12)
Performs the
+=
operation. Read moreSource§impl AddAssign for Fq12
impl AddAssign for Fq12
Source§fn add_assign(&mut self, rhs: Fq12)
fn add_assign(&mut self, rhs: Fq12)
Performs the
+=
operation. Read moreSource§impl ExtField for Fq12
impl ExtField for Fq12
const NON_RESIDUE: Self = _
fn frobenius_map(&mut self, power: usize)
fn mul_by_nonresidue(&self) -> Self
Source§impl MillerLoopResult for Fq12
impl MillerLoopResult for Fq12
Source§fn final_exponentiation(&self) -> Self::Gt
fn final_exponentiation(&self) -> Self::Gt
This performs a “final exponentiation” routine to convert the result of a Miller
loop into an element of
MillerLoopResult::Gt
, so that it can be compared with
other elements of Gt
.Source§impl<'a, 'b> Mul<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a, 'b> Mul<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
*
operator.Source§impl<'b> Mul<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> Mul<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
*
operator.Source§impl<'a> Mul<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a> Mul<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
*
operator.Source§impl Mul for Fq12
impl Mul for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
*
operator.Source§impl<'b> MulAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> MulAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§fn mul_assign(&mut self, rhs: &'b Fq12)
fn mul_assign(&mut self, rhs: &'b Fq12)
Performs the
*=
operation. Read moreSource§impl MulAssign for Fq12
impl MulAssign for Fq12
Source§fn mul_assign(&mut self, rhs: Fq12)
fn mul_assign(&mut self, rhs: Fq12)
Performs the
*=
operation. Read moreSource§impl<'a> Neg for &'a Fq12
impl<'a> Neg for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl Neg for Fq12
impl Neg for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl QuadExtFieldArith for Fq12
impl QuadExtFieldArith for Fq12
type Base = CubicExtField<QuadExtField<Fq>>
const SQRT: SQRT<Self::Base> = SQRT::Unimplemented
fn mul_assign( lhs: &mut QuadExtField<Self::Base>, rhs: &QuadExtField<Self::Base>, )
fn square_assign(el: &mut QuadExtField<Self::Base>)
Source§impl QuadSparseMul for Fq12
impl QuadSparseMul for Fq12
type Base = QuadExtField<Fq>
fn mul_by_014( lhs: &mut QuadExtField<CubicExtField<Self::Base>>, c0: &Self::Base, c1: &Self::Base, c4: &Self::Base, )
fn mul_by_034( lhs: &mut QuadExtField<CubicExtField<Self::Base>>, c0: &Self::Base, c3: &Self::Base, c4: &Self::Base, )
Source§impl<'a, 'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a, 'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl<'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl<'a> Sub<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
impl<'a> Sub<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl Sub for Fq12
impl Sub for Fq12
Source§type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>
The resulting type after applying the
-
operator.Source§impl<'b> SubAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
impl<'b> SubAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12
Source§fn sub_assign(&mut self, rhs: &'b Fq12)
fn sub_assign(&mut self, rhs: &'b Fq12)
Performs the
-=
operation. Read more