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§
Trait Implementations§
Source§impl<P: Fp4Config> CyclotomicMultSubgroup for Fp4<P>
impl<P: Fp4Config> CyclotomicMultSubgroup for Fp4<P>
Source§const INVERSE_IS_FAST: bool = true
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>
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 moreSource§fn cyclotomic_square(&self) -> Self
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 moreSource§fn cyclotomic_square_in_place(&mut self) -> &mut Self
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 moreSource§fn cyclotomic_inverse(&self) -> Option<Self>
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