pub trait CurveAffine: Copy + Clone + Sized + Send + Sync + Debug + Display + PartialEq + Eq + 'static + Serialize + DeserializeOwned {
    type Engine: Engine<Fr = Self::Scalar>;
    type Scalar: PrimeField + SqrtField;
    type Base: SqrtField;
    type Projective: CurveProjective<Affine = Self, Scalar = Self::Scalar, Base = Self::Base>;
    type Prepared: Clone + Send + Sync + 'static;
    type Uncompressed: EncodedPoint<Affine = Self>;
    type Compressed: EncodedPoint<Affine = Self>;
    type Pair: CurveAffine<Pair = Self>;
    type PairingResult: Field;

Show 16 methods fn zero() -> Self; fn one() -> Self; fn is_zero(&self) -> bool; fn negate(&mut self); fn mul<S: Into<<Self::Scalar as PrimeField>::Repr>>(
        &self,
        other: S
    ) -> Self::Projective; fn prepare(&self) -> Self::Prepared; fn pairing_with(&self, other: &Self::Pair) -> Self::PairingResult; fn into_projective(&self) -> Self::Projective; fn as_xy(&self) -> (&Self::Base, &Self::Base); fn into_xy_unchecked(self) -> (Self::Base, Self::Base); fn from_xy_unchecked(x: Self::Base, y: Self::Base) -> Self; fn from_xy_checked(
        x: Self::Base,
        y: Self::Base
    ) -> Result<Self, GroupDecodingError>; fn a_coeff() -> Self::Base; fn b_coeff() -> Self::Base; fn into_compressed(&self) -> Self::Compressed { ... } fn into_uncompressed(&self) -> Self::Uncompressed { ... }
}
Expand description

Affine representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

Required Associated Types§

Required Methods§

Returns the additive identity.

Returns a fixed generator of unknown exponent.

Determines if this point represents the point at infinity; the additive identity.

Negates this element.

Performs scalar multiplication of this element with mixed addition.

Prepares this element for pairing purposes.

Perform a pairing

Converts this element into its affine representation.

Returns references to underlying X and Y coordinates. Users should check for infinity outside of this call

Returns underlying X and Y coordinates. Users should check for infinity outside of this call

Creates a point from raw X and Y coordinates. Point of infinity is encoded as (0,0) by default. On-curve check is NOT performed

Creates a point from raw X and Y coordinates. Point of infinity is encoded as (0,0) by default. On-curve check is performed

returns A coefficient for a short Weierstrass form

returns B coefficient for a short Weierstrass form

Provided Methods§

Converts this element into its compressed encoding, so long as it’s not the point at infinity.

Converts this element into its uncompressed encoding, so long as it’s not the point at infinity.

Implementors§