pub trait CurveGroup: Group + Add<Self::Affine, Output = Self> + AddAssign<Self::Affine> + VariableBaseMSM + ScalarMul<MulBase = Self::Affine> + From<Self::Affine> + Into<Self::Affine> + Sum<Self::Affine> + for<'a> Sum<&'a Self::Affine> {
    type Config: CurveConfig<ScalarField = Self::ScalarField, BaseField = Self::BaseField>;
    type BaseField: Field;
    type Affine: AffineRepr<Config = Self::Config, Group = Self, ScalarField = Self::ScalarField, BaseField = Self::BaseField> + From<Self> + Into<Self>;
    type FullGroup;

    fn normalize_batch(v: &[Self]) -> Vec<Self::Affine>;

    fn into_affine(self) -> Self::Affine { ... }
}
Expand description

An opaque representation of an elliptic curve group element that is suitable for efficient group arithmetic.

The point is guaranteed to be in the correct prime order subgroup.

Required Associated Types

The field over which this curve is defined.

The affine representation of this element.

Type representing an element of the full elliptic curve group, not just the prime order subgroup.

Required Methods

Normalizes a slice of group elements into affine.

Provided Methods

Converts self into the affine representation.

Implementors