ark_ff::fields::models::fp4

Type Alias Fp4

Source
pub type Fp4<P> = QuadExtField<Fp4ConfigWrapper<P>>;

Aliased Type§

struct Fp4<P> {
    pub c0: <Fp4ConfigWrapper<P> as QuadExtConfig>::BaseField,
    pub c1: <Fp4ConfigWrapper<P> as QuadExtConfig>::BaseField,
}

Fields§

§c0: <Fp4ConfigWrapper<P> as QuadExtConfig>::BaseField

Coefficient c0 in the representation of the field element c = c0 + c1 * X

§c1: <Fp4ConfigWrapper<P> as QuadExtConfig>::BaseField

Coefficient c1 in the representation of the field element c = c0 + c1 * X

Implementations§

Source§

impl<P: Fp4Config> Fp4<P>

Source

pub fn mul_by_fp(&mut self, element: &<P::Fp2Config as Fp2Config>::Fp)

Source

pub fn mul_by_fp2(&mut self, element: &Fp2<P::Fp2Config>)

Trait Implementations§

Source§

impl<P: Fp4Config> CyclotomicMultSubgroup for Fp4<P>

Source§

const INVERSE_IS_FAST: bool = true

Is the inverse fast to compute? For example, in quadratic extensions, the inverse can be computed at the cost of negating one coordinate, which is much faster than standard inversion. By default this is false, but should be set to true for quadratic extensions.
Source§

fn cyclotomic_inverse_in_place(&mut self) -> Option<&mut Self>

Compute the inverse of self. See Self::INVERSE_IS_FAST for details. Returns None if self.is_zero(), and Some otherwise. Read more
Source§

fn cyclotomic_square(&self) -> Self

Compute a square in the cyclotomic subgroup. By default this is computed using Field::square, but for degree 12 extensions, this can be computed faster than normal squaring. Read more
Source§

fn cyclotomic_square_in_place(&mut self) -> &mut Self

Square self in place. By default this is computed using Field::square_in_place, but for degree 12 extensions, this can be computed faster than normal squaring. Read more
Source§

fn cyclotomic_inverse(&self) -> Option<Self>

Compute the inverse of self. See Self::INVERSE_IS_FAST for details. Returns None if self.is_zero(), and Some otherwise. Read more
Source§

fn cyclotomic_exp(&self, e: impl AsRef<[u64]>) -> Self

Compute a cyclotomic exponentiation of self with respect to e. Read more
Source§

fn cyclotomic_exp_in_place(&mut self, e: impl AsRef<[u64]>)

Set self to be the result of exponentiating self by e, using efficient cyclotomic algorithms. Read more