pub type Fp2<P> = QuadExtField<Fp2ConfigWrapper<P>>;Expand description
Alias for instances of quadratic extension fields. Helpful for omitting verbose
instantiations involving Fp2ConfigWrapper.
Aliased Type§
struct Fp2<P> {
    pub c0: <Fp2ConfigWrapper<P> as QuadExtConfig>::BaseField,
    pub c1: <Fp2ConfigWrapper<P> as QuadExtConfig>::BaseField,
}Fields§
§c0: <Fp2ConfigWrapper<P> as QuadExtConfig>::BaseFieldCoefficient c0 in the representation of the field element c = c0 + c1 * X
c1: <Fp2ConfigWrapper<P> as QuadExtConfig>::BaseFieldCoefficient c1 in the representation of the field element c = c0 + c1 * X
Implementations§
Source§impl<P: Fp2Config> Fp2<P>
 
impl<P: Fp2Config> Fp2<P>
Sourcepub fn mul_assign_by_fp(&mut self, other: &P::Fp)
 
pub fn mul_assign_by_fp(&mut self, other: &P::Fp)
In-place multiply both coefficients c0 and c1 of self
by an element from Fp.
§Examples
let c0: Fp = Fp::rand(&mut test_rng());
let c1: Fp = Fp::rand(&mut test_rng());
let mut ext_element: Fp2 = Fp2::new(c0, c1);
let base_field_element: Fp = Fp::rand(&mut test_rng());
ext_element.mul_assign_by_fp(&base_field_element);
assert_eq!(ext_element.c0, c0 * base_field_element);
assert_eq!(ext_element.c1, c1 * base_field_element);Trait Implementations§
Source§impl<P: Fp2Config> CyclotomicMultSubgroup for Fp2<P>
 
impl<P: Fp2Config> CyclotomicMultSubgroup for Fp2<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