Trait groupy::CurveAffine[][src]

pub trait CurveAffine: Copy + Clone + Sized + Send + Sync + Debug + Display + PartialEq + Eq + 'static + Serialize + Deserialize<'static> {
    type Engine: ScalarEngine<Fr = Self::Scalar>;
    type Scalar: PrimeField + SqrtField;
    type Base: SqrtField;
    type Projective: CurveProjective<Affine = Self, Scalar = Self::Scalar>;
    type Uncompressed: EncodedPoint<Affine = Self>;
    type Compressed: EncodedPoint<Affine = Self>;
    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 into_projective(&self) -> Self::Projective; 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.

Associated Types

type Engine: ScalarEngine<Fr = Self::Scalar>[src]

type Scalar: PrimeField + SqrtField[src]

type Base: SqrtField[src]

type Projective: CurveProjective<Affine = Self, Scalar = Self::Scalar>[src]

type Uncompressed: EncodedPoint<Affine = Self>[src]

type Compressed: EncodedPoint<Affine = Self>[src]

Required methods

fn zero() -> Self[src]

Returns the additive identity.

fn one() -> Self[src]

Returns a fixed generator of unknown exponent.

fn is_zero(&self) -> bool[src]

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

fn negate(&mut self)[src]

Negates this element.

fn mul<S: Into<<Self::Scalar as PrimeField>::Repr>>(
    &self,
    other: S
) -> Self::Projective
[src]

Performs scalar multiplication of this element with mixed addition.

fn into_projective(&self) -> Self::Projective[src]

Converts this element into its affine representation.

Provided methods

fn into_compressed(&self) -> Self::Compressed[src]

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

fn into_uncompressed(&self) -> Self::Uncompressed[src]

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

Implementors