pub struct EdwardsPoint {
pub(crate) X: FieldElement,
pub(crate) Y: FieldElement,
pub(crate) Z: FieldElement,
pub(crate) T: FieldElement,
}Expand description
Represent points on the (untwisted) edwards curve using Extended Homogenous Projective Co-ordinates (x, y) -> (X/Z, Y/Z, Z, T) a = 1, d = -39081 XXX: Make this more descriptive Should this be renamed to EdwardsPoint so that we are consistent with Dalek crypto? Necessary as ExtendedPoint is not regular lingo?
Fields§
§X: FieldElement§Y: FieldElement§Z: FieldElement§T: FieldElementImplementations§
Source§impl EdwardsPoint
impl EdwardsPoint
Sourcepub fn to_montgomery(&self) -> MontgomeryPoint
pub fn to_montgomery(&self) -> MontgomeryPoint
Convert this point to MontgomeryPoint
Sourcepub fn scalar_mul(&self, scalar: &EdwardsScalar) -> Self
pub fn scalar_mul(&self, scalar: &EdwardsScalar) -> Self
Generic scalar multiplication to compute s*P
Sourcepub fn add(&self, other: &EdwardsPoint) -> Self
pub fn add(&self, other: &EdwardsPoint) -> Self
Add two points
Sourcepub fn is_on_curve(&self) -> Choice
pub fn is_on_curve(&self) -> Choice
Check if this point is on the curve
Sourcepub fn to_affine(&self) -> AffinePoint
pub fn to_affine(&self) -> AffinePoint
Convert this point to an AffinePoint.
pub(crate) fn to_twisted(self) -> TwistedExtensiblePoint
Sourcepub fn is_torsion_free(&self) -> Choice
pub fn is_torsion_free(&self) -> Choice
Determine if this point is “torsion-free”, i.e., is contained in the prime-order subgroup.
§Return
trueifselfhas zero torsion component and is in the prime-order subgroup;falseifselfhas a nonzero torsion component and is not in the prime-order subgroup.
Trait Implementations§
Source§impl Add<&AffinePoint> for &EdwardsPoint
impl Add<&AffinePoint> for &EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, other: &AffinePoint) -> EdwardsPoint
fn add(self, other: &AffinePoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'b> Add<&'b AffinePoint> for EdwardsPoint
impl<'b> Add<&'b AffinePoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: &'b AffinePoint) -> EdwardsPoint
fn add(self, rhs: &'b AffinePoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl Add<&EdwardsPoint> for &AffinePoint
impl Add<&EdwardsPoint> for &AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, other: &EdwardsPoint) -> EdwardsPoint
fn add(self, other: &EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl Add<&EdwardsPoint> for &EdwardsPoint
impl Add<&EdwardsPoint> for &EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, other: &EdwardsPoint) -> EdwardsPoint
fn add(self, other: &EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'b> Add<&'b EdwardsPoint> for AffinePoint
impl<'b> Add<&'b EdwardsPoint> for AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'b> Add<&'b EdwardsPoint> for EdwardsPoint
impl<'b> Add<&'b EdwardsPoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'a> Add<AffinePoint> for &'a EdwardsPoint
impl<'a> Add<AffinePoint> for &'a EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: AffinePoint) -> EdwardsPoint
fn add(self, rhs: AffinePoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl Add<AffinePoint> for EdwardsPoint
impl Add<AffinePoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: AffinePoint) -> EdwardsPoint
fn add(self, rhs: AffinePoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'a> Add<EdwardsPoint> for &'a AffinePoint
impl<'a> Add<EdwardsPoint> for &'a AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl<'a> Add<EdwardsPoint> for &'a EdwardsPoint
impl<'a> Add<EdwardsPoint> for &'a EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl Add<EdwardsPoint> for AffinePoint
impl Add<EdwardsPoint> for AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl Add for EdwardsPoint
impl Add for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
+ operator.Source§fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
fn add(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
+ operation. Read moreSource§impl AddAssign<&AffinePoint> for EdwardsPoint
impl AddAssign<&AffinePoint> for EdwardsPoint
Source§fn add_assign(&mut self, rhs: &AffinePoint)
fn add_assign(&mut self, rhs: &AffinePoint)
Performs the
+= operation. Read moreSource§impl AddAssign<&EdwardsPoint> for AffinePoint
impl AddAssign<&EdwardsPoint> for AffinePoint
Source§fn add_assign(&mut self, rhs: &EdwardsPoint)
fn add_assign(&mut self, rhs: &EdwardsPoint)
Performs the
+= operation. Read moreSource§impl<'b> AddAssign<&'b EdwardsPoint> for EdwardsPoint
impl<'b> AddAssign<&'b EdwardsPoint> for EdwardsPoint
Source§fn add_assign(&mut self, _rhs: &'b EdwardsPoint)
fn add_assign(&mut self, _rhs: &'b EdwardsPoint)
Performs the
+= operation. Read moreSource§impl AddAssign<AffinePoint> for EdwardsPoint
impl AddAssign<AffinePoint> for EdwardsPoint
Source§fn add_assign(&mut self, rhs: AffinePoint)
fn add_assign(&mut self, rhs: AffinePoint)
Performs the
+= operation. Read moreSource§impl AddAssign<EdwardsPoint> for AffinePoint
impl AddAssign<EdwardsPoint> for AffinePoint
Source§fn add_assign(&mut self, rhs: EdwardsPoint)
fn add_assign(&mut self, rhs: EdwardsPoint)
Performs the
+= operation. Read moreSource§impl AddAssign for EdwardsPoint
impl AddAssign for EdwardsPoint
Source§fn add_assign(&mut self, rhs: EdwardsPoint)
fn add_assign(&mut self, rhs: EdwardsPoint)
Performs the
+= operation. Read moreSource§impl BatchNormalize<[EdwardsPoint]> for EdwardsPoint
Available on crate feature alloc only.
impl BatchNormalize<[EdwardsPoint]> for EdwardsPoint
Available on crate feature
alloc only.Source§type Output = Vec<<EdwardsPoint as Curve>::Affine>
type Output = Vec<<EdwardsPoint as Curve>::Affine>
The output of the batch normalization; a container of affine points.
Source§fn batch_normalize(points: &[Self]) -> Vec<<Self as CurveGroup>::Affine>
fn batch_normalize(points: &[Self]) -> Vec<<Self as CurveGroup>::Affine>
Perform a batched conversion to affine representation on a sequence of projective points
at an amortized cost that should be practically as efficient as a single conversion.
Internally, implementors should rely upon
InvertBatch.Source§impl<const N: usize> BatchNormalize<[EdwardsPoint; N]> for EdwardsPoint
impl<const N: usize> BatchNormalize<[EdwardsPoint; N]> for EdwardsPoint
Source§type Output = [<EdwardsPoint as Curve>::Affine; N]
type Output = [<EdwardsPoint as Curve>::Affine; N]
The output of the batch normalization; a container of affine points.
Source§fn batch_normalize(points: &[Self; N]) -> [<Self as CurveGroup>::Affine; N]
fn batch_normalize(points: &[Self; N]) -> [<Self as CurveGroup>::Affine; N]
Perform a batched conversion to affine representation on a sequence of projective points
at an amortized cost that should be practically as efficient as a single conversion.
Internally, implementors should rely upon
InvertBatch.Source§impl Clone for EdwardsPoint
impl Clone for EdwardsPoint
Source§fn clone(&self) -> EdwardsPoint
fn clone(&self) -> EdwardsPoint
Returns a duplicate 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 moreSource§impl CofactorGroup for EdwardsPoint
impl CofactorGroup for EdwardsPoint
Source§type Subgroup = EdwardsPoint
type Subgroup = EdwardsPoint
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::Subgroup
fn clear_cofactor(&self) -> Self::Subgroup
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 EdwardsPoint
impl ConditionallySelectable for EdwardsPoint
Source§fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
Source§fn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
Source§fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
Conditionally swap
self and other if choice == 1; otherwise,
reassign both unto themselves. Read moreSource§impl ConstantTimeEq for EdwardsPoint
impl ConstantTimeEq for EdwardsPoint
Source§impl CtEq for EdwardsPoint
impl CtEq for EdwardsPoint
Source§impl CtSelect for EdwardsPoint
impl CtSelect for EdwardsPoint
Source§impl Curve for EdwardsPoint
impl Curve for EdwardsPoint
Source§type Affine = AffinePoint
type Affine = AffinePoint
The affine representation for this elliptic curve.
Source§fn to_affine(&self) -> AffinePoint
fn to_affine(&self) -> AffinePoint
Converts this element into its affine representation.
Source§fn batch_normalize(projective: &[Self], affine: &mut [Self::Affine])
fn batch_normalize(projective: &[Self], affine: &mut [Self::Affine])
Converts a batch of projective elements into affine elements. This function will
panic if
p.len() != q.len().Source§impl Debug for EdwardsPoint
impl Debug for EdwardsPoint
Source§impl Default for EdwardsPoint
impl Default for EdwardsPoint
Source§impl Display for EdwardsPoint
impl Display for EdwardsPoint
Source§impl From<&AffinePoint> for EdwardsPoint
impl From<&AffinePoint> for EdwardsPoint
Source§fn from(value: &AffinePoint) -> Self
fn from(value: &AffinePoint) -> Self
Converts to this type from the input type.
Source§impl From<&DecafPoint> for EdwardsPoint
impl From<&DecafPoint> for EdwardsPoint
Source§fn from(point: &DecafPoint) -> Self
fn from(point: &DecafPoint) -> Self
Converts to this type from the input type.
Source§impl From<&EdwardsPoint> for [u8; 57]
impl From<&EdwardsPoint> for [u8; 57]
Source§fn from(value: &EdwardsPoint) -> Self
fn from(value: &EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<&EdwardsPoint> for AffinePoint
impl From<&EdwardsPoint> for AffinePoint
Source§fn from(value: &EdwardsPoint) -> Self
fn from(value: &EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<&EdwardsPoint> for DecafPoint
impl From<&EdwardsPoint> for DecafPoint
Source§fn from(point: &EdwardsPoint) -> Self
fn from(point: &EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<&EdwardsPoint> for Vec<u8>
Available on crate feature alloc only.
impl From<&EdwardsPoint> for Vec<u8>
Available on crate feature
alloc only.Source§fn from(value: &EdwardsPoint) -> Self
fn from(value: &EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<AffinePoint> for EdwardsPoint
impl From<AffinePoint> for EdwardsPoint
Source§fn from(value: AffinePoint) -> Self
fn from(value: AffinePoint) -> Self
Converts to this type from the input type.
Source§impl From<DecafPoint> for EdwardsPoint
impl From<DecafPoint> for EdwardsPoint
Source§fn from(point: DecafPoint) -> Self
fn from(point: DecafPoint) -> Self
Converts to this type from the input type.
Source§impl From<EdwardsPoint> for [u8; 57]
impl From<EdwardsPoint> for [u8; 57]
Source§fn from(value: EdwardsPoint) -> Self
fn from(value: EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<EdwardsPoint> for AffinePoint
impl From<EdwardsPoint> for AffinePoint
Source§fn from(value: EdwardsPoint) -> Self
fn from(value: EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<EdwardsPoint> for DecafPoint
impl From<EdwardsPoint> for DecafPoint
Source§fn from(point: EdwardsPoint) -> Self
fn from(point: EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<EdwardsPoint> for Vec<u8>
Available on crate feature alloc only.
impl From<EdwardsPoint> for Vec<u8>
Available on crate feature
alloc only.Source§fn from(value: EdwardsPoint) -> Self
fn from(value: EdwardsPoint) -> Self
Converts to this type from the input type.
Source§impl From<NonIdentity<EdwardsPoint>> for EdwardsPoint
impl From<NonIdentity<EdwardsPoint>> for EdwardsPoint
Source§fn from(p: NonIdentity<EdwardsPoint>) -> Self
fn from(p: NonIdentity<EdwardsPoint>) -> Self
Converts to this type from the input type.
Source§impl Generate for EdwardsPoint
impl Generate for EdwardsPoint
Source§fn try_generate_from_rng<R: TryCryptoRng + ?Sized>(
rng: &mut R,
) -> Result<Self, R::Error>
fn try_generate_from_rng<R: TryCryptoRng + ?Sized>( rng: &mut R, ) -> Result<Self, R::Error>
Generate random key using the provided
TryCryptoRng. Read moreSource§fn generate_from_rng<R>(rng: &mut R) -> Self
fn generate_from_rng<R>(rng: &mut R) -> Self
Generate random key using the provided
CryptoRng.Source§impl Group for EdwardsPoint
impl Group for EdwardsPoint
Source§fn try_random<R>(rng: &mut R) -> Result<Self, R::Error>
fn try_random<R>(rng: &mut R) -> Result<Self, R::Error>
Returns an element chosen uniformly at random from the non-identity elements of
this group using a user-provided fallible RNG. Read more
Source§fn is_identity(&self) -> Choice
fn is_identity(&self) -> Choice
Determines if this point is the identity.
Source§fn random<R>(rng: &mut R) -> Self
fn random<R>(rng: &mut R) -> Self
Returns an element chosen uniformly at random from the non-identity elements of
this group using a user-provided infallible RNG. Read more
Source§fn mul_by_generator(scalar: &Self::Scalar) -> Self
fn mul_by_generator(scalar: &Self::Scalar) -> Self
Multiply by the generator of the prime-order subgroup.
Source§impl GroupEncoding for EdwardsPoint
impl GroupEncoding for EdwardsPoint
Source§type Repr = Array<u8, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B1>>
type Repr = Array<u8, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B1>>
The encoding of group elements. Read more
Source§fn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
fn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
Attempts to deserialize a group element from its encoding.
Source§impl LinearCombination<[(EdwardsPoint, Scalar<Ed448>)]> for EdwardsPoint
impl LinearCombination<[(EdwardsPoint, Scalar<Ed448>)]> for EdwardsPoint
Source§fn lincomb(points_and_scalars: &PointsAndScalars) -> Self
fn lincomb(points_and_scalars: &PointsAndScalars) -> Self
Calculates
x1 * k1 + ... + xn * kn.Source§fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self
fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self
Calculates
x1 * k1 + ... + xn * kn. Read moreSource§impl<const N: usize> LinearCombination<[(EdwardsPoint, Scalar<Ed448>); N]> for EdwardsPoint
impl<const N: usize> LinearCombination<[(EdwardsPoint, Scalar<Ed448>); N]> for EdwardsPoint
Source§fn lincomb(points_and_scalars: &PointsAndScalars) -> Self
fn lincomb(points_and_scalars: &PointsAndScalars) -> Self
Calculates
x1 * k1 + ... + xn * kn.Source§fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self
fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self
Calculates
x1 * k1 + ... + xn * kn. Read moreSource§impl LowerHex for EdwardsPoint
impl LowerHex for EdwardsPoint
Source§impl Mul<&Scalar<Ed448>> for &EdwardsPoint
impl Mul<&Scalar<Ed448>> for &EdwardsPoint
Source§fn mul(self, scalar: &EdwardsScalar) -> EdwardsPoint
fn mul(self, scalar: &EdwardsScalar) -> EdwardsPoint
Scalar multiplication: compute scalar * self.
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
* operator.Source§impl<'b> Mul<&'b Scalar<Ed448>> for EdwardsPoint
impl<'b> Mul<&'b Scalar<Ed448>> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: &'b EdwardsScalar) -> EdwardsPoint
fn mul(self, rhs: &'b EdwardsScalar) -> EdwardsPoint
Performs the
* operation. Read moreSource§impl<'a> Mul<Scalar<Ed448>> for &'a EdwardsPoint
impl<'a> Mul<Scalar<Ed448>> for &'a EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: EdwardsScalar) -> EdwardsPoint
fn mul(self, rhs: EdwardsScalar) -> EdwardsPoint
Performs the
* operation. Read moreSource§impl Mul<Scalar<Ed448>> for EdwardsPoint
impl Mul<Scalar<Ed448>> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: EdwardsScalar) -> EdwardsPoint
fn mul(self, rhs: EdwardsScalar) -> EdwardsPoint
Performs the
* operation. Read moreSource§impl<'b> MulAssign<&'b Scalar<Ed448>> for EdwardsPoint
impl<'b> MulAssign<&'b Scalar<Ed448>> for EdwardsPoint
Source§fn mul_assign(&mut self, scalar: &'b EdwardsScalar)
fn mul_assign(&mut self, scalar: &'b EdwardsScalar)
Performs the
*= operation. Read moreSource§impl MulAssign<Scalar<Ed448>> for EdwardsPoint
impl MulAssign<Scalar<Ed448>> for EdwardsPoint
Source§fn mul_assign(&mut self, rhs: EdwardsScalar)
fn mul_assign(&mut self, rhs: EdwardsScalar)
Performs the
*= operation. Read moreSource§impl MulByGeneratorVartime for EdwardsPoint
impl MulByGeneratorVartime for EdwardsPoint
Source§fn mul_by_generator_vartime(scalar: &Self::Scalar) -> Self
fn mul_by_generator_vartime(scalar: &Self::Scalar) -> Self
Multiply by the generator of the prime-order subgroup. Read more
Source§impl MulVartime<&Scalar<Ed448>> for &EdwardsPoint
impl MulVartime<&Scalar<Ed448>> for &EdwardsPoint
Source§fn mul_vartime(self, scalar: &EdwardsScalar) -> EdwardsPoint
fn mul_vartime(self, scalar: &EdwardsScalar) -> EdwardsPoint
Multiply
self by rhs in variable-time.Source§impl MulVartime<&Scalar<Ed448>> for EdwardsPoint
impl MulVartime<&Scalar<Ed448>> for EdwardsPoint
Source§fn mul_vartime(self, scalar: &EdwardsScalar) -> EdwardsPoint
fn mul_vartime(self, scalar: &EdwardsScalar) -> EdwardsPoint
Multiply
self by rhs in variable-time.Source§impl MulVartime<Scalar<Ed448>> for EdwardsPoint
impl MulVartime<Scalar<Ed448>> for EdwardsPoint
Source§fn mul_vartime(self, scalar: EdwardsScalar) -> EdwardsPoint
fn mul_vartime(self, scalar: EdwardsScalar) -> EdwardsPoint
Multiply
self by rhs in variable-time.Source§impl Neg for &EdwardsPoint
impl Neg for &EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn neg(self) -> EdwardsPoint
fn neg(self) -> EdwardsPoint
Performs the unary
- operation. Read moreSource§impl Neg for EdwardsPoint
impl Neg for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn neg(self) -> EdwardsPoint
fn neg(self) -> EdwardsPoint
Performs the unary
- operation. Read moreSource§impl PartialEq for EdwardsPoint
impl PartialEq for EdwardsPoint
Source§impl Sub<&AffinePoint> for &EdwardsPoint
impl Sub<&AffinePoint> for &EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, other: &AffinePoint) -> EdwardsPoint
fn sub(self, other: &AffinePoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'b> Sub<&'b AffinePoint> for EdwardsPoint
impl<'b> Sub<&'b AffinePoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: &'b AffinePoint) -> EdwardsPoint
fn sub(self, rhs: &'b AffinePoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl Sub<&EdwardsPoint> for &AffinePoint
impl Sub<&EdwardsPoint> for &AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, other: &EdwardsPoint) -> EdwardsPoint
fn sub(self, other: &EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl Sub<&EdwardsPoint> for &EdwardsPoint
impl Sub<&EdwardsPoint> for &EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, other: &EdwardsPoint) -> EdwardsPoint
fn sub(self, other: &EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'b> Sub<&'b EdwardsPoint> for AffinePoint
impl<'b> Sub<&'b EdwardsPoint> for AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'b> Sub<&'b EdwardsPoint> for EdwardsPoint
impl<'b> Sub<&'b EdwardsPoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: &'b EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'a> Sub<AffinePoint> for &'a EdwardsPoint
impl<'a> Sub<AffinePoint> for &'a EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: AffinePoint) -> EdwardsPoint
fn sub(self, rhs: AffinePoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl Sub<AffinePoint> for EdwardsPoint
impl Sub<AffinePoint> for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: AffinePoint) -> EdwardsPoint
fn sub(self, rhs: AffinePoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'a> Sub<EdwardsPoint> for &'a AffinePoint
impl<'a> Sub<EdwardsPoint> for &'a AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl<'a> Sub<EdwardsPoint> for &'a EdwardsPoint
impl<'a> Sub<EdwardsPoint> for &'a EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl Sub<EdwardsPoint> for AffinePoint
impl Sub<EdwardsPoint> for AffinePoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl Sub for EdwardsPoint
impl Sub for EdwardsPoint
Source§type Output = EdwardsPoint
type Output = EdwardsPoint
The resulting type after applying the
- operator.Source§fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
fn sub(self, rhs: EdwardsPoint) -> EdwardsPoint
Performs the
- operation. Read moreSource§impl SubAssign<&AffinePoint> for EdwardsPoint
impl SubAssign<&AffinePoint> for EdwardsPoint
Source§fn sub_assign(&mut self, rhs: &AffinePoint)
fn sub_assign(&mut self, rhs: &AffinePoint)
Performs the
-= operation. Read moreSource§impl SubAssign<&EdwardsPoint> for AffinePoint
impl SubAssign<&EdwardsPoint> for AffinePoint
Source§fn sub_assign(&mut self, rhs: &EdwardsPoint)
fn sub_assign(&mut self, rhs: &EdwardsPoint)
Performs the
-= operation. Read moreSource§impl<'b> SubAssign<&'b EdwardsPoint> for EdwardsPoint
impl<'b> SubAssign<&'b EdwardsPoint> for EdwardsPoint
Source§fn sub_assign(&mut self, _rhs: &'b EdwardsPoint)
fn sub_assign(&mut self, _rhs: &'b EdwardsPoint)
Performs the
-= operation. Read moreSource§impl SubAssign<AffinePoint> for EdwardsPoint
impl SubAssign<AffinePoint> for EdwardsPoint
Source§fn sub_assign(&mut self, rhs: AffinePoint)
fn sub_assign(&mut self, rhs: AffinePoint)
Performs the
-= operation. Read moreSource§impl SubAssign<EdwardsPoint> for AffinePoint
impl SubAssign<EdwardsPoint> for AffinePoint
Source§fn sub_assign(&mut self, rhs: EdwardsPoint)
fn sub_assign(&mut self, rhs: EdwardsPoint)
Performs the
-= operation. Read moreSource§impl SubAssign for EdwardsPoint
impl SubAssign for EdwardsPoint
Source§fn sub_assign(&mut self, rhs: EdwardsPoint)
fn sub_assign(&mut self, rhs: EdwardsPoint)
Performs the
-= operation. Read moreSource§impl<T> Sum<T> for EdwardsPointwhere
T: Borrow<EdwardsPoint>,
impl<T> Sum<T> for EdwardsPointwhere
T: Borrow<EdwardsPoint>,
Source§impl TryFrom<&[u8]> for EdwardsPoint
impl TryFrom<&[u8]> for EdwardsPoint
Source§impl TryFrom<EdwardsPoint> for NonIdentity<EdwardsPoint>
The constant-time alternative is available at NonIdentity::new().
impl TryFrom<EdwardsPoint> for NonIdentity<EdwardsPoint>
The constant-time alternative is available at NonIdentity::new().
Source§impl UpperHex for EdwardsPoint
impl UpperHex for EdwardsPoint
impl Copy for EdwardsPoint
impl DefaultIsZeroes for EdwardsPoint
impl Eq for EdwardsPoint
impl PrimeGroup for EdwardsPoint
Auto Trait Implementations§
impl Freeze for EdwardsPoint
impl RefUnwindSafe for EdwardsPoint
impl Send for EdwardsPoint
impl Sync for EdwardsPoint
impl Unpin for EdwardsPoint
impl UnsafeUnpin for EdwardsPoint
impl UnwindSafe for EdwardsPoint
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