#[repr(align(4))]pub struct Ed25519AffinePoint(pub [u32; 16]);Expand description
An affine point on the Ed25519 curve.
Tuple Fields§
§0: [u32; 16]Implementations§
Trait Implementations§
Source§impl AffinePoint<N> for Ed25519AffinePoint
impl AffinePoint<N> for Ed25519AffinePoint
Source§const GENERATOR: [u32; 16]
👎Deprecated: This const will have the Self type in the next major version.
const GENERATOR: [u32; 16]
Self type in the next major version.The generator/base point for the Ed25519 curve. Reference: https://datatracker.ietf.org/doc/html/rfc7748#section-4.1
const GENERATOR_T: Self
Source§fn identity() -> Self
fn identity() -> Self
Creates a new
AffinePoint that corresponds to the identity point.Source§fn limbs_mut(&mut self) -> &mut [u32; 16]
fn limbs_mut(&mut self) -> &mut [u32; 16]
Returns a mutable reference to the limbs. If the point is the infinity point, this will
panic.
Source§fn add_assign(&mut self, other: &Self)
fn add_assign(&mut self, other: &Self)
Adds the given
AffinePoint to self.fn is_identity(&self) -> bool
Source§fn from(x: &[u8], y: &[u8]) -> Self
fn from(x: &[u8], y: &[u8]) -> Self
Creates a new
AffinePoint from the given x and y coordinates. Read moreSource§fn from_le_bytes(bytes: &[u8]) -> Self
fn from_le_bytes(bytes: &[u8]) -> Self
Creates a new
AffinePoint from the given bytes in little endian.Source§fn to_le_bytes(&self) -> Vec<u8> ⓘ
fn to_le_bytes(&self) -> Vec<u8> ⓘ
Creates a new
AffinePoint from the given bytes in big endian.Source§fn complete_add_assign(&mut self, other: &Self)
fn complete_add_assign(&mut self, other: &Self)
Adds the given
AffinePoint to self. Can be optionally overridden to use a different
implementation of addition in multi-scalar multiplication, which is used in secp256k1
recovery.Source§fn mul_assign(&mut self, scalar: &[u32])
fn mul_assign(&mut self, scalar: &[u32])
Multiplies
self by the given scalar.Source§fn multi_scalar_multiplication(
a_bits_le: &[bool],
a: Self,
b_bits_le: &[bool],
b: Self,
) -> Self
fn multi_scalar_multiplication( a_bits_le: &[bool], a: Self, b_bits_le: &[bool], b: Self, ) -> Self
Performs multi-scalar multiplication (MSM) on slices of bit vectors and points. Note:
a_bits_le and b_bits_le should be in little endian order.
Source§impl Clone for Ed25519AffinePoint
impl Clone for Ed25519AffinePoint
Source§fn clone(&self) -> Ed25519AffinePoint
fn clone(&self) -> Ed25519AffinePoint
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Ed25519AffinePoint
Auto Trait Implementations§
impl Freeze for Ed25519AffinePoint
impl RefUnwindSafe for Ed25519AffinePoint
impl Send for Ed25519AffinePoint
impl Sync for Ed25519AffinePoint
impl Unpin for Ed25519AffinePoint
impl UnwindSafe for Ed25519AffinePoint
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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