Struct snarkvm_curves::templates::twisted_edwards_extended::GroupProjective [−][src]
pub struct GroupProjective<P: Parameters> { pub x: P::BaseField, pub y: P::BaseField, pub t: P::BaseField, pub z: P::BaseField, // some fields omitted }
Fields
x: P::BaseField
y: P::BaseField
t: P::BaseField
z: P::BaseField
Implementations
Trait Implementations
Performs the +=
operation. Read more
Reads Self
from reader
.
Reads Self
from reader
without compression.
Serializes self
into writer
.
Serializes self
into writer
without compression.
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Performs the conversion.
Performs the conversion.
impl<'a, P: Parameters> MulAssign<&'a <P as ModelParameters>::ScalarField> for GroupProjective<P>
impl<'a, P: Parameters> MulAssign<&'a <P as ModelParameters>::ScalarField> for GroupProjective<P>
Performs the *=
operation. Read more
type Affine = GroupAffine<P>
type ScalarField = P::ScalarField
Returns a fixed generator of unknown exponent.
Checks if the point is already “normalized” so that cheap affine conversion is possible. Read more
Normalizes a slice of projective elements so that conversion to affine is cheap. Read more
Adds an affine element to this element.
Performs scalar multiplication of this element.
Converts this element into its affine representation.
fn recommended_wnaf_for_scalar(
scalar: <Self::ScalarField as PrimeField>::BigInteger
) -> usize
fn recommended_wnaf_for_scalar(
scalar: <Self::ScalarField as PrimeField>::BigInteger
) -> usize
Recommends a wNAF window table size given a scalar. Always returns a number between 2 and 22, inclusive. Read more
Recommends a wNAF window size given the number of scalars you intend to multiply a base by. Always returns a number between 2 and 22, inclusive. Read more
Normalizes a slice of projective elements and outputs a vector containing the affine equivalents. Read more
Performs the -=
operation. Read more
impl<M: TEModelParameters, F: Field> ToConstraintField<F> for TEProjective<M> where
M::BaseField: ToConstraintField<F>,
impl<M: TEModelParameters, F: Field> ToConstraintField<F> for TEProjective<M> where
M::BaseField: ToConstraintField<F>,
Auto Trait Implementations
impl<P> RefUnwindSafe for GroupProjective<P> where
P: RefUnwindSafe,
<P as ModelParameters>::BaseField: RefUnwindSafe,
impl<P> Send for GroupProjective<P>
impl<P> Sync for GroupProjective<P>
impl<P> Unpin for GroupProjective<P> where
P: Unpin,
<P as ModelParameters>::BaseField: Unpin,
impl<P> UnwindSafe for GroupProjective<P> where
P: UnwindSafe,
<P as ModelParameters>::BaseField: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type ScalarField = <C as ProjectiveCurve>::ScalarField
Sets self := self + self
.
pub fn vzip(self) -> V