pub struct G1(/* private fields */);
Expand description
A point on the BLS12-381 G1 curve.
Trait Implementations§
Source§impl Ord for G1
impl Ord for G1
Source§impl PartialOrd for G1
impl PartialOrd for G1
Source§impl Point for G1
impl Point for G1
Source§fn msm(points: &[Self], scalars: &[Scalar]) -> Self
fn msm(points: &[Self], scalars: &[Scalar]) -> Self
Performs multi-scalar multiplication (MSM) on G1 points using Pippenger’s algorithm.
Computes sum(scalars[i] * points[i])
.
Filters out pairs where the point is the identity element (infinity). Returns an error if the lengths of the input slices mismatch.
Source§impl Read for G1
impl Read for G1
impl Copy for G1
impl Eq for G1
impl StructuralPartialEq 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§impl<T> Encode for Twhere
T: Write + EncodeSize,
impl<T> Encode for Twhere
T: Write + EncodeSize,
Source§impl<T> EncodeFixed for T
impl<T> EncodeFixed for T
Source§impl<T> EncodeSize for Twhere
T: FixedSize,
impl<T> EncodeSize for Twhere
T: FixedSize,
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more