Type Alias Fq6

Source
pub type Fq6 = CubicExtField<Fq2>;

Aliased Type§

struct Fq6 { /* private fields */ }

Implementations

Source§

impl<F: Field> CubicExtField<F>
where Self: CubicExtFieldArith<Base = F>,

Source

pub fn mul(&self, rhs: &Self) -> Self

Source

pub fn mul_assign(&mut self, rhs: &Self)

Source

pub fn square(el: &Self) -> Self

Source

pub fn square_assign(&mut self)

Source§

impl<F: Field> CubicExtField<F>

Source

pub const fn new(c0: F, c1: F, c2: F) -> Self

Source

pub const fn zero() -> Self

Source

pub const fn one() -> Self

Source

pub fn c0(&self) -> &F

Source

pub fn c1(&self) -> &F

Source

pub fn c2(&self) -> &F

Source

pub fn double(&self) -> Self

Source

pub fn add(&self, other: &Self) -> Self

Source

pub fn sub(&self, other: &Self) -> Self

Source

pub fn neg(&self) -> Self

Trait Implementations§

Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Add for Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

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

Source§

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

Performs the += operation. Read more
Source§

impl AddAssign for Fq6

Source§

fn add_assign(&mut self, rhs: Fq6)

Performs the += operation. Read more
Source§

impl CubicExtFieldArith for Fq6

Source§

impl CubicSparseMul for Fq6

Source§

type Base = QuadExtField<Fq>

Source§

fn mul_by_1( lhs: &CubicExtField<Self::Base>, c1: &Self::Base, ) -> CubicExtField<Self::Base>

Source§

fn mul_by_01( lhs: &CubicExtField<Self::Base>, c0: &Self::Base, c1: &Self::Base, ) -> CubicExtField<Self::Base>

Source§

impl ExtField for Fq6

Source§

const NON_RESIDUE: Self

Source§

fn frobenius_map(&mut self, power: usize)

Source§

fn mul_by_nonresidue(self: &Fq6) -> Fq6

Source§

impl<'a, 'b> Mul<&'b CubicExtField<QuadExtField<Fq>>> for &'a Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul for Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

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

Source§

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

Performs the *= operation. Read more
Source§

impl MulAssign for Fq6

Source§

fn mul_assign(&mut self, rhs: Fq6)

Performs the *= operation. Read more
Source§

impl<'a> Neg for &'a Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Fq6

Performs the unary - operation. Read more
Source§

impl Neg for Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Fq6

Performs the unary - operation. Read more
Source§

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

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<'a, 'b> Sub<&'b CubicExtField<QuadExtField<Fq>>> for &'a Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

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

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Sub for Fq6

Source§

type Output = CubicExtField<QuadExtField<Fq>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

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

Source§

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

Performs the -= operation. Read more
Source§

impl SubAssign for Fq6

Source§

fn sub_assign(&mut self, rhs: Fq6)

Performs the -= operation. Read more
Source§

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

Source§

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

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

impl<F: Clone + Field> Clone for CubicExtField<F>

Source§

fn clone(&self) -> CubicExtField<F>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<F: Field> ConditionallySelectable for CubicExtField<F>

Source§

fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self

Select a or b according to choice. Read more
Source§

fn conditional_assign(&mut self, other: &Self, choice: Choice)

Conditionally assign other to self, according to choice. Read more
Source§

fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)

Conditionally swap self and other if choice == 1; otherwise, reassign both unto themselves. Read more
Source§

impl<F: Field> ConstantTimeEq for CubicExtField<F>

Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if two items are equal. Read more
Source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
Source§

impl<F: Debug + Field> Debug for CubicExtField<F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<F: Default + Field> Default for CubicExtField<F>

Source§

fn default() -> CubicExtField<F>

Returns the “default value” for a type. Read more
Source§

impl<F: ExtField> Field for CubicExtField<F>

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§

fn random(rng: impl RngCore) -> Self

Returns an element chosen uniformly at random using a user-provided RNG.
Source§

fn is_zero(&self) -> Choice

Returns true iff this element is zero.
Source§

fn square(&self) -> Self

Squares this element.
Source§

fn double(&self) -> Self

Doubles this element.
Source§

fn sqrt(&self) -> CtOption<Self>

Returns the square root of the field element, if it is quadratic residue. Read more
Source§

fn sqrt_ratio(_: &Self, _: &Self) -> (Choice, Self)

Computes: Read more
Source§

fn invert(&self) -> CtOption<Self>

Computes the multiplicative inverse of this element, failing if the element is zero.
Source§

fn is_zero_vartime(&self) -> bool

Returns true iff this element is zero. Read more
Source§

fn cube(&self) -> Self

Cubes this element.
Source§

fn sqrt_alt(&self) -> (Choice, Self)

Equivalent to Self::sqrt_ratio(self, one()). Read more
Source§

fn pow<S>(&self, exp: S) -> Self
where S: AsRef<[u64]>,

Exponentiates self by exp, where exp is a little-endian order integer exponent. Read more
Source§

fn pow_vartime<S>(&self, exp: S) -> Self
where S: AsRef<[u64]>,

Exponentiates self by exp, where exp is a little-endian order integer exponent. Read more
Source§

impl<F: PartialEq + Field> PartialEq for CubicExtField<F>

Source§

fn eq(&self, other: &CubicExtField<F>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<F: Copy + Field> Copy for CubicExtField<F>

Source§

impl<F: Eq + Field> Eq for CubicExtField<F>

Source§

impl<F: Field> StructuralPartialEq for CubicExtField<F>