openvm_pairing_guest::bn254

Type Alias Fp12

Source
pub type Fp12 = SexticExtField<Fp2>;

Aliased Type§

struct Fp12 {
    pub c: [Bn254Fp2; 6],
}

Fields§

§c: [Bn254Fp2; 6]

Implementations§

Source§

impl Fp12

Source

pub fn invert(&self) -> Self

Trait Implementations§

Source§

impl ComplexConjugate for Fp12

Source§

fn conjugate(self) -> Self

Conjugate an extension field element.
Source§

fn conjugate_assign(&mut self)

Replace self with its conjugate.
Source§

impl<'a> DivAssignUnsafe<&'a SexticExtField<Bn254Fp2>> for Fp12

Source§

fn div_assign_unsafe(&mut self, other: &'a Fp12)

Undefined behavior when denominator is not invertible.
Source§

impl DivAssignUnsafe for Fp12

Source§

fn div_assign_unsafe(&mut self, other: Self)

Undefined behavior when denominator is not invertible.
Source§

impl<'a> DivUnsafe<&'a SexticExtField<Bn254Fp2>> for Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

Output type of div_unsafe.
Source§

fn div_unsafe(self, other: &'a Fp12) -> Self::Output

Undefined behavior when denominator is not invertible.
Source§

impl<'a> DivUnsafe for &'a Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

Output type of div_unsafe.
Source§

fn div_unsafe(self, other: &'a Fp12) -> Self::Output

Undefined behavior when denominator is not invertible.
Source§

impl DivUnsafe for Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

Output type of div_unsafe.
Source§

fn div_unsafe(self, other: Self) -> Self::Output

Undefined behavior when denominator is not invertible.
Source§

impl Field for Fp12

Source§

const ZERO: Self = _

The zero element of the field, the additive identity.
Source§

const ONE: Self = _

The one element of the field, the multiplicative identity.
Source§

type SelfRef<'a> = &'a SexticExtField<Bn254Fp2>

Source§

fn double_assign(&mut self)

Doubles self in-place.
Source§

fn square_assign(&mut self)

Square self in-place
Source§

fn invert(&self) -> Self

Unchecked inversion. See DivUnsafe. Read more
Source§

impl FieldExtension<Bn254Fp2> for Fp12

Source§

fn frobenius_map(&self, power: usize) -> Self

We assume that the frobenius map power is < 12

Source§

const D: usize = 6usize

Extension field degree.
Source§

type Coeffs = [Bn254Fp2; 6]

This should be [BaseField; D]. It is an associated type due to rust const generic limitations.
Source§

fn from_coeffs(coeffs: Self::Coeffs) -> Self

Create an extension field element from its base field coefficients.
Source§

fn from_bytes(bytes: &[u8]) -> Self

Create an extension field element from little-endian bytes.
Source§

fn to_coeffs(self) -> Self::Coeffs

Convert an extension field element to its base field coefficients.
Source§

fn to_bytes(&self) -> Vec<u8>

Convert an extension field element to little-endian bytes.
Source§

fn embed(c0: Fp2) -> Self

Embed a base field element into an extension field element.
Source§

fn mul_base(&self, rhs: &Fp2) -> Self

Multiply an extension field element by an element in the base field
Source§

impl FromLineDType<Bn254Fp2> for Fp12

Source§

impl<'a> Mul<&'a SexticExtField<Bn254Fp2>> for Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &'a Fp12) -> Fp12

Performs the * operation. Read more
Source§

impl<'a> Mul for &'a Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &'a Fp12) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul for Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a> MulAssign<&'a SexticExtField<Bn254Fp2>> for Fp12

Source§

fn mul_assign(&mut self, other: &'a Fp12)

Performs the *= operation. Read more
Source§

impl MulAssign for Fp12

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl Neg for Fp12

Source§

type Output = SexticExtField<Bn254Fp2>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more