[][src]Trait groupy::CurveAffine

pub trait CurveAffine: Copy + Clone + Sized + Send + Sync + Debug + Display + PartialEq + Eq + '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 { ... } }

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

Associated Types

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>

Loading content...

Required methods

fn zero() -> Self

Returns the additive identity.

fn one() -> Self

Returns a fixed generator of unknown exponent.

fn is_zero(&self) -> bool

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

fn negate(&mut self)

Negates this element.

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

Performs scalar multiplication of this element with mixed addition.

fn into_projective(&self) -> Self::Projective

Converts this element into its affine representation.

Loading content...

Provided methods

fn into_compressed(&self) -> Self::Compressed

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

fn into_uncompressed(&self) -> Self::Uncompressed

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

Loading content...

Implementors

Loading content...