pub struct G1 { /* private fields */ }
Trait Implementations§
Source§impl CurveProjective for G1
impl CurveProjective for G1
type Engine = Bn256
type Scalar = Fr
type Base = Fq
type Affine = G1Affine
Source§fn is_normalized(&self) -> bool
fn is_normalized(&self) -> bool
Source§fn batch_normalization(v: &mut [G1])
fn batch_normalization(v: &mut [G1])
Source§fn add_assign(&mut self, other: &G1)
fn add_assign(&mut self, other: &G1)
Source§fn add_assign_mixed(&mut self, other: &<G1 as CurveProjective>::Affine)
fn add_assign_mixed(&mut self, other: &<G1 as CurveProjective>::Affine)
Source§fn mul_assign<S>(&mut self, other: S)
fn mul_assign<S>(&mut self, other: S)
Source§fn into_affine(&self) -> G1Affine
fn into_affine(&self) -> G1Affine
Source§fn recommended_wnaf_for_scalar(
scalar: <<G1 as CurveProjective>::Scalar as PrimeField>::Repr,
) -> usize
fn recommended_wnaf_for_scalar( scalar: <<G1 as CurveProjective>::Scalar as PrimeField>::Repr, ) -> usize
Source§fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize
fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize
Source§fn as_xyz(
&self,
) -> (&<G1 as CurveProjective>::Base, &<G1 as CurveProjective>::Base, &<G1 as CurveProjective>::Base)
fn as_xyz( &self, ) -> (&<G1 as CurveProjective>::Base, &<G1 as CurveProjective>::Base, &<G1 as CurveProjective>::Base)
Source§fn into_xyz_unchecked(
self,
) -> (<G1 as CurveProjective>::Base, <G1 as CurveProjective>::Base, <G1 as CurveProjective>::Base)
fn into_xyz_unchecked( self, ) -> (<G1 as CurveProjective>::Base, <G1 as CurveProjective>::Base, <G1 as CurveProjective>::Base)
Source§fn from_xyz_unchecked(
x: <G1 as CurveProjective>::Base,
y: <G1 as CurveProjective>::Base,
z: <G1 as CurveProjective>::Base,
) -> G1
fn from_xyz_unchecked( x: <G1 as CurveProjective>::Base, y: <G1 as CurveProjective>::Base, z: <G1 as CurveProjective>::Base, ) -> G1
Source§fn from_xyz_checked(
_x: <G1 as CurveProjective>::Base,
_y: <G1 as CurveProjective>::Base,
_z: <G1 as CurveProjective>::Base,
) -> Result<G1, GroupDecodingError>
fn from_xyz_checked( _x: <G1 as CurveProjective>::Base, _y: <G1 as CurveProjective>::Base, _z: <G1 as CurveProjective>::Base, ) -> Result<G1, GroupDecodingError>
Source§fn sub_assign(&mut self, other: &Self)
fn sub_assign(&mut self, other: &Self)
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<G> GenericCurveProjective for Gwhere
G: CurveProjective,
impl<G> GenericCurveProjective for Gwhere
G: CurveProjective,
Source§fn batch_normalization(v: &mut [G])
fn batch_normalization(v: &mut [G])
Normalizes a slice of projective elements so that conversion to affine is cheap.
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 add_assign(&mut self, other: &G)
fn add_assign(&mut self, other: &G)
Adds another element to this element.
Source§fn sub_assign(&mut self, other: &G)
fn sub_assign(&mut self, other: &G)
Subtracts another element from this element.
Source§fn add_assign_mixed(&mut self, other: &<G as GenericCurveProjective>::Affine)
fn add_assign_mixed(&mut self, other: &<G as GenericCurveProjective>::Affine)
Adds an affine element to this element.
Source§fn mul_assign<S>(&mut self, other: S)
fn mul_assign<S>(&mut self, other: S)
Performs scalar multiplication of this element.
Source§fn into_affine(&self) -> <G as GenericCurveProjective>::Affine
fn into_affine(&self) -> <G as GenericCurveProjective>::Affine
Converts this element into its affine representation.
Source§fn recommended_wnaf_for_scalar(
scalar: <<G as GenericCurveProjective>::Scalar as PrimeField>::Repr,
) -> usize
fn recommended_wnaf_for_scalar( scalar: <<G as GenericCurveProjective>::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,
) -> (&<G as GenericCurveProjective>::Base, &<G as GenericCurveProjective>::Base, &<G as GenericCurveProjective>::Base)
fn as_xyz( &self, ) -> (&<G as GenericCurveProjective>::Base, &<G as GenericCurveProjective>::Base, &<G as GenericCurveProjective>::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,
) -> (<G as GenericCurveProjective>::Base, <G as GenericCurveProjective>::Base, <G as GenericCurveProjective>::Base)
fn into_xyz_unchecked( self, ) -> (<G as GenericCurveProjective>::Base, <G as GenericCurveProjective>::Base, <G as GenericCurveProjective>::Base)
Returns underlying X, Y and Z coordinates. Users should check for infinity outside of this call
Source§fn from_xyz_unchecked(
_x: <G as GenericCurveProjective>::Base,
_y: <G as GenericCurveProjective>::Base,
_z: <G as GenericCurveProjective>::Base,
) -> G
fn from_xyz_unchecked( _x: <G as GenericCurveProjective>::Base, _y: <G as GenericCurveProjective>::Base, _z: <G as GenericCurveProjective>::Base, ) -> G
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: <G as GenericCurveProjective>::Base,
_y: <G as GenericCurveProjective>::Base,
_z: <G as GenericCurveProjective>::Base,
) -> Result<G, GroupDecodingError>
fn from_xyz_checked( _x: <G as GenericCurveProjective>::Base, _y: <G as GenericCurveProjective>::Base, _z: <G as GenericCurveProjective>::Base, ) -> Result<G, 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