halo2curves::bn256

Type Alias Fq12

Source
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§

Trait Implementations§

Source§

impl<'a, 'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'b Fq12) -> Fq12

Performs the + operation. Read more
Source§

impl<'b> Add<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'b Fq12) -> Fq12

Performs the + operation. Read more
Source§

impl<'a> Add<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Fq12) -> Fq12

Performs the + operation. Read more
Source§

impl Add for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Fq12) -> Fq12

Performs the + operation. Read more
Source§

impl<'b> AddAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

fn add_assign(&mut self, rhs: &'b Fq12)

Performs the += operation. Read more
Source§

impl AddAssign for Fq12

Source§

fn add_assign(&mut self, rhs: Fq12)

Performs the += operation. Read more
Source§

impl ExtField for Fq12

Source§

const NON_RESIDUE: Self = _

Source§

fn frobenius_map(&mut self, power: usize)

Source§

fn mul_by_nonresidue(&self) -> Self

Source§

impl MillerLoopResult for Fq12

Source§

type Gt = Gt

The extension field that hosts the target group of the pairing.
Source§

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

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'b Fq12) -> Fq12

Performs the * operation. Read more
Source§

impl<'b> Mul<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'b Fq12) -> Fq12

Performs the * operation. Read more
Source§

impl<'a> Mul<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Fq12) -> Fq12

Performs the * operation. Read more
Source§

impl Mul for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Fq12) -> Fq12

Performs the * operation. Read more
Source§

impl<'b> MulAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

fn mul_assign(&mut self, rhs: &'b Fq12)

Performs the *= operation. Read more
Source§

impl MulAssign for Fq12

Source§

fn mul_assign(&mut self, rhs: Fq12)

Performs the *= operation. Read more
Source§

impl<'a> Neg for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Fq12

Performs the unary - operation. Read more
Source§

impl Neg for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Fq12

Performs the unary - operation. Read more
Source§

impl<T: Borrow<Fq12>> Product<T> for Fq12

Source§

fn product<I: Iterator<Item = T>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by multiplying the items.
Source§

impl QuadExtFieldArith for Fq12

Source§

type Base = CubicExtField<QuadExtField<Fq>>

Source§

const SQRT: SQRT<Self::Base> = SQRT::Unimplemented

Source§

fn mul_assign( lhs: &mut QuadExtField<Self::Base>, rhs: &QuadExtField<Self::Base>, )

Source§

fn square_assign(el: &mut QuadExtField<Self::Base>)

Source§

impl QuadSparseMul for Fq12

Source§

type Base = QuadExtField<Fq>

Source§

fn mul_by_014( lhs: &mut QuadExtField<CubicExtField<Self::Base>>, c0: &Self::Base, c1: &Self::Base, c4: &Self::Base, )
where CubicExtField<Self::Base>: CubicSparseMul<Base = Self::Base> + ExtField,

Source§

fn mul_by_034( lhs: &mut QuadExtField<CubicExtField<Self::Base>>, c0: &Self::Base, c3: &Self::Base, c4: &Self::Base, )
where CubicExtField<Self::Base>: CubicSparseMul<Base = Self::Base> + ExtField,

Source§

impl<'a, 'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'b Fq12) -> Fq12

Performs the - operation. Read more
Source§

impl<'b> Sub<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'b Fq12) -> Fq12

Performs the - operation. Read more
Source§

impl<'a> Sub<QuadExtField<CubicExtField<QuadExtField<Fq>>>> for &'a Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Fq12) -> Fq12

Performs the - operation. Read more
Source§

impl Sub for Fq12

Source§

type Output = QuadExtField<CubicExtField<QuadExtField<Fq>>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Fq12) -> Fq12

Performs the - operation. Read more
Source§

impl<'b> SubAssign<&'b QuadExtField<CubicExtField<QuadExtField<Fq>>>> for Fq12

Source§

fn sub_assign(&mut self, rhs: &'b Fq12)

Performs the -= operation. Read more
Source§

impl SubAssign for Fq12

Source§

fn sub_assign(&mut self, rhs: Fq12)

Performs the -= operation. Read more
Source§

impl<T: Borrow<Fq12>> Sum<T> for Fq12

Source§

fn sum<I: Iterator<Item = T>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.