Trait ark_ec::ProjectiveCurve [−][src]
Projective representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.
Associated Types
type ScalarField: PrimeField + SquareRootField
[src]
type BaseField: Field
[src]
type Affine: AffineCurve<Projective = Self, ScalarField = Self::ScalarField, BaseField = Self::BaseField> + From<Self> + Into<Self>
[src]
Associated Constants
Loading content...Required methods
#[must_use]fn prime_subgroup_generator() -> Self
[src]
Returns a fixed generator of unknown exponent.
fn batch_normalization(v: &mut [Self])
[src]
Normalizes a slice of projective elements so that conversion to affine is cheap.
#[must_use]fn is_normalized(&self) -> bool
[src]
Checks if the point is already “normalized” so that cheap affine conversion is possible.
fn double_in_place(&mut self) -> &mut Self
[src]
Doubles this element in place.
fn add_assign_mixed(&mut self, other: &Self::Affine)
[src]
Set self
to be self + other
, where other: Self::Affine
.
This is usually faster than adding other
in projective form.
Provided methods
fn batch_normalization_into_affine(v: &[Self]) -> Vec<Self::Affine>
[src]
Normalizes a slice of projective elements and outputs a vector containing the affine equivalents.
#[must_use]fn double(&self) -> Self
[src]
Doubles this element.
fn into_affine(&self) -> Self::Affine
[src]
Converts self into the affine representation.
fn add_mixed(self, other: &Self::Affine) -> Self
[src]
Set self
to be self + other
, where other: Self::Affine
.
This is usually faster than adding other
in projective form.
fn mul<S: AsRef<[u64]>>(self, other: S) -> Self
[src]
Performs scalar multiplication of this element.