Struct pairing_ce::bls12_381::G2
source · pub struct G2 { /* private fields */ }
Trait Implementations§
source§impl CurveProjective for G2
impl CurveProjective for G2
type Engine = Bls12
type Scalar = Fr
type Base = Fq2
type Affine = G2Affine
source§fn is_normalized(&self) -> bool
fn is_normalized(&self) -> bool
Checks if the point is already “normalized” so that
cheap affine conversion is possible.
source§fn batch_normalization(v: &mut [Self])
fn batch_normalization(v: &mut [Self])
Normalizes a slice of projective elements so that
conversion to affine is cheap.
source§fn add_assign(&mut self, other: &Self)
fn add_assign(&mut self, other: &Self)
Adds another element to this element.
source§fn add_assign_mixed(&mut self, other: &Self::Affine)
fn add_assign_mixed(&mut self, other: &Self::Affine)
Adds an affine element to this element.
source§fn mul_assign<S: Into<<Self::Scalar as PrimeField>::Repr>>(&mut self, other: S)
fn mul_assign<S: Into<<Self::Scalar as PrimeField>::Repr>>(&mut self, other: S)
Performs scalar multiplication of this element.
source§fn into_affine(&self) -> G2Affine
fn into_affine(&self) -> G2Affine
Converts this element into its affine representation.
source§fn recommended_wnaf_for_scalar(
scalar: <Self::Scalar as PrimeField>::Repr
) -> usize
fn recommended_wnaf_for_scalar(
scalar: <Self::Scalar as PrimeField>::Repr
) -> usize
Recommends a wNAF window table size given a scalar. Always returns a number
between 2 and 22, inclusive.
source§fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize
fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize
Recommends a wNAF window size given the number of scalars you intend to multiply
a base by. Always returns a number between 2 and 22, inclusive.
source§fn as_xyz(&self) -> (&Self::Base, &Self::Base, &Self::Base)
fn as_xyz(&self) -> (&Self::Base, &Self::Base, &Self::Base)
Returns references to underlying X, Y and Z coordinates. Users should check for infinity
outside of this call
source§fn into_xyz_unchecked(self) -> (Self::Base, Self::Base, Self::Base)
fn into_xyz_unchecked(self) -> (Self::Base, Self::Base, Self::Base)
Returns underlying X, Y and Z coordinates. Users should check for infinity
outside of this call
source§fn from_xyz_unchecked(x: Self::Base, y: Self::Base, z: Self::Base) -> Self
fn from_xyz_unchecked(x: Self::Base, y: Self::Base, z: Self::Base) -> Self
Creates a point from raw X, Y and Z coordinates. Point of infinity is encoded as (0,1,0) by default.
On-curve check is NOT performed
source§fn from_xyz_checked(
_x: Self::Base,
_y: Self::Base,
_z: Self::Base
) -> Result<Self, GroupDecodingError>
fn from_xyz_checked(
_x: Self::Base,
_y: Self::Base,
_z: Self::Base
) -> Result<Self, GroupDecodingError>
Creates a point from raw X, Y and Z coordinates. Point of infinity is encoded as (0,1,0) by default.
On-curve check is performed
source§fn sub_assign(&mut self, other: &Self)
fn sub_assign(&mut self, other: &Self)
Subtracts another element from this element.