Trait ark_ec::CurveGroup
source · [−]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
type Config: CurveConfig<ScalarField = Self::ScalarField, BaseField = Self::BaseField>
sourcetype Affine: AffineRepr<Config = Self::Config, Group = Self, ScalarField = Self::ScalarField, BaseField = Self::BaseField> + From<Self> + Into<Self>
type Affine: AffineRepr<Config = Self::Config, Group = Self, ScalarField = Self::ScalarField, BaseField = Self::BaseField> + From<Self> + Into<Self>
The affine representation of this element.
Required Methods
sourcefn normalize_batch(v: &[Self]) -> Vec<Self::Affine>
fn normalize_batch(v: &[Self]) -> Vec<Self::Affine>
Normalizes a slice of group elements into affine.
Provided Methods
sourcefn into_affine(self) -> Self::Affine
fn into_affine(self) -> Self::Affine
Converts self
into the affine representation.