Struct pasta_curves::Eq
source · #[repr(C)]pub struct Eq { /* private fields */ }
Expand description
Represents a point in the projective coordinate space.
Implementations§
Trait Implementations§
source§impl<'b> AddAssign<&'b Eq> for Eq
impl<'b> AddAssign<&'b Eq> for Eq
source§fn add_assign(&mut self, rhs: &'b Eq)
fn add_assign(&mut self, rhs: &'b Eq)
Performs the
+=
operation. Read moresource§impl<'b> AddAssign<&'b EqAffine> for Eq
impl<'b> AddAssign<&'b EqAffine> for Eq
source§fn add_assign(&mut self, rhs: &'b EqAffine)
fn add_assign(&mut self, rhs: &'b EqAffine)
Performs the
+=
operation. Read moresource§impl AddAssign<Eq> for Eq
impl AddAssign<Eq> for Eq
source§fn add_assign(&mut self, rhs: Eq)
fn add_assign(&mut self, rhs: Eq)
Performs the
+=
operation. Read moresource§impl AddAssign<EqAffine> for Eq
impl AddAssign<EqAffine> for Eq
source§fn add_assign(&mut self, rhs: EqAffine)
fn add_assign(&mut self, rhs: EqAffine)
Performs the
+=
operation. Read moresource§impl CofactorGroup for Eq
impl CofactorGroup for Eq
§type Subgroup = Eq
type Subgroup = Eq
The large prime-order subgroup in which cryptographic operations are performed.
If
Self
implements PrimeGroup
, then Self::Subgroup
may be Self
.source§fn clear_cofactor(&self) -> Self
fn clear_cofactor(&self) -> Self
Maps
self
to the prime-order subgroup by multiplying this element by some
k
-multiple of the cofactor. Read moresource§fn into_subgroup(self) -> CtOption<Self::Subgroup>
fn into_subgroup(self) -> CtOption<Self::Subgroup>
Returns
self
if it is contained in the prime-order subgroup. Read moresource§fn is_torsion_free(&self) -> Choice
fn is_torsion_free(&self) -> Choice
Determines if this element is “torsion free”, i.e., is contained in the
prime-order subgroup. Read more
source§fn is_small_order(&self) -> Choice
fn is_small_order(&self) -> Choice
Determines if this element is of small order. Read more
source§impl ConditionallySelectable for Eq
impl ConditionallySelectable for Eq
source§impl ConstantTimeEq for Eq
impl ConstantTimeEq for Eq
source§impl Curve for Eq
impl Curve for Eq
§type AffineRepr = EqAffine
type AffineRepr = EqAffine
The affine representation for this elliptic curve.
source§fn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
fn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
Converts a batch of projective elements into affine elements. This function will
panic if
p.len() != q.len()
.source§fn to_affine(&self) -> Self::AffineRepr
fn to_affine(&self) -> Self::AffineRepr
Converts this element into its affine representation.
source§impl CurveExt for Eq
Available on crate feature alloc
only.
impl CurveExt for Eq
Available on crate feature
alloc
only.source§fn endo(&self) -> Self
fn endo(&self) -> Self
Apply the curve endomorphism by multiplying the x-coordinate by an element of multiplicative order 3.
source§fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
fn hash_to_curve<'a>(domain_prefix: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
Requests a hasher that accepts messages and returns near-uniformly
distributed elements in the group, given domain prefix
domain_prefix
. Read moresource§fn new_jacobian(x: Self::Base, y: Self::Base, z: Self::Base) -> CtOption<Self>
fn new_jacobian(x: Self::Base, y: Self::Base, z: Self::Base) -> CtOption<Self>
Obtains a point given Jacobian coordinates $X : Y : Z$, failing
if the coordinates are not on the curve.
source§fn is_on_curve(&self) -> Choice
fn is_on_curve(&self) -> Choice
Returns whether or not this element is on the curve; should
always be true unless an “unchecked” API was used.
source§impl<'de> Deserialize<'de> for Eq
impl<'de> Deserialize<'de> for Eq
source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
source§impl Group for Eq
impl Group for Eq
source§impl GroupEncoding for Eq
impl GroupEncoding for Eq
source§impl<'b> MulAssign<&'b Fp> for Eq
impl<'b> MulAssign<&'b Fp> for Eq
source§fn mul_assign(&mut self, rhs: &'b Fp)
fn mul_assign(&mut self, rhs: &'b Fp)
Performs the
*=
operation. Read moresource§impl MulAssign<Fp> for Eq
impl MulAssign<Fp> for Eq
source§fn mul_assign(&mut self, rhs: Fp)
fn mul_assign(&mut self, rhs: Fp)
Performs the
*=
operation. Read moresource§impl PartialEq<Eq> for Eq
impl PartialEq<Eq> for Eq
source§impl<'b> SubAssign<&'b Eq> for Eq
impl<'b> SubAssign<&'b Eq> for Eq
source§fn sub_assign(&mut self, rhs: &'b Eq)
fn sub_assign(&mut self, rhs: &'b Eq)
Performs the
-=
operation. Read moresource§impl<'b> SubAssign<&'b EqAffine> for Eq
impl<'b> SubAssign<&'b EqAffine> for Eq
source§fn sub_assign(&mut self, rhs: &'b EqAffine)
fn sub_assign(&mut self, rhs: &'b EqAffine)
Performs the
-=
operation. Read moresource§impl SubAssign<Eq> for Eq
impl SubAssign<Eq> for Eq
source§fn sub_assign(&mut self, rhs: Eq)
fn sub_assign(&mut self, rhs: Eq)
Performs the
-=
operation. Read moresource§impl SubAssign<EqAffine> for Eq
impl SubAssign<EqAffine> for Eq
source§fn sub_assign(&mut self, rhs: EqAffine)
fn sub_assign(&mut self, rhs: EqAffine)
Performs the
-=
operation. Read moresource§impl WnafGroup for Eq
Available on crate feature alloc
only.
impl WnafGroup for Eq
Available on crate feature
alloc
only.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.
impl Copy for Eq
impl Eq for Eq
impl PrimeGroup for Eq
Auto Trait Implementations§
impl RefUnwindSafe for Eq
impl Send for Eq
impl Sync for Eq
impl Unpin for Eq
impl UnwindSafe for Eq
Blanket Implementations§
source§impl<T> ConditionallyNegatable for Twhere
T: ConditionallySelectable,
&'a T: for<'a> Neg<Output = T>,
impl<T> ConditionallyNegatable for Twhere T: ConditionallySelectable, &'a T: for<'a> Neg<Output = T>,
source§fn conditional_negate(&mut self, choice: Choice)
fn conditional_negate(&mut self, choice: Choice)
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.