pub struct G1 { /* private fields */ }
Trait Implementations§
Source§impl CurveProjective for G1
impl CurveProjective for G1
type Engine = Bls12
type Scalar = Fr
type Base = Fq
type Affine = G1Affine
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) -> G1Affine
fn into_affine(&self) -> G1Affine
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_tuple(&self) -> (&Fq, &Fq, &Fq)
fn as_tuple(&self) -> (&Fq, &Fq, &Fq)
Borrow references to the X, Y, and Z coordinates of this point.
Source§unsafe fn as_tuple_mut(&mut self) -> (&mut Fq, &mut Fq, &mut Fq)
unsafe fn as_tuple_mut(&mut self) -> (&mut Fq, &mut Fq, &mut Fq)
Borrow mutable references to the X, Y, and Z coordinates of this point.
Unsafe, because incorrectly modifying the coordinates violates the guarantee
that the point must be on the curve and in the correct subgroup.
Source§fn sub_assign(&mut self, other: &Self)
fn sub_assign(&mut self, other: &Self)
Subtracts another element from this element.
Source§fn sub_assign_mixed(&mut self, other: &Self::Affine)
fn sub_assign_mixed(&mut self, other: &Self::Affine)
Subtracts an affine element from this element
impl Copy for G1
impl Eq for G1
Auto Trait Implementations§
impl Freeze for G1
impl RefUnwindSafe for G1
impl Send for G1
impl Sync for G1
impl Unpin for G1
impl UnwindSafe for G1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)