Struct ark_ec::models::short_weierstrass_jacobian::GroupAffine [−][src]
#[must_use]pub struct GroupAffine<P: Parameters> { pub x: P::BaseField, pub y: P::BaseField, pub infinity: bool, // some fields omitted }
Expand description
Affine coordinates for a point on an elliptic curve in short Weierstrass form,
over the base field P::BaseField
.
Fields
x: P::BaseField
y: P::BaseField
infinity: bool
Implementations
Multiply self
by the cofactor of the curve, P::COFACTOR
.
Attempts to construct an affine point given an x-coordinate. The point is not guaranteed to be in the prime order subgroup.
If and only if greatest
is set will the lexicographically
largest y-coordinate be selected.
Checks if self
is a valid point on the curve.
Checks if self
is in the subgroup having order that equaling that of
P::ScalarField
.
Trait Implementations
Performs the +=
operation. Read more
type ScalarField = P::ScalarField
type Projective = GroupProjective<P>
Returns a fixed generator of unknown exponent.
Returns a group element if the set of bytes forms a valid group element, otherwise returns None. This function is primarily intended for sampling random group elements from a hash-function or RNG output. Read more
fn mul<S: Into<<Self::ScalarField as PrimeField>::BigInt>>(
&self,
by: S
) -> GroupProjective<P>
[src]
fn mul<S: Into<<Self::ScalarField as PrimeField>::BigInt>>(
&self,
by: S
) -> GroupProjective<P>
[src]Performs scalar multiplication of this element with mixed addition.
Multiply this element by the cofactor and output the resulting projective element. Read more
Multiply this element by the inverse of the cofactor in
Self::ScalarField
. Read more
Converts self into the projective representation.
Multiply this element by the cofactor.
Reads Self
from reader
.
Reads Self
from reader
without compression.
Reads self
from reader
without compression, and without performing
validity checks. Should be used only when the input is trusted. Read more
Serializes self
into writer
.
It is left up to a particular type for how it strikes the
serialization efficiency vs compression tradeoff.
For standard types (e.g. bool
, lengths, etc.) typically an uncompressed
form is used, whereas for algebraic types compressed forms are used. Read more
Serializes self
into writer
without compression.
Serializes self
into writer
without compression, and without
performing validity checks. Should be used only when there is no
danger of adversarial manipulation of the output. Read more
impl<P: Bls12Parameters> From<GroupAffine<<P as Bls12Parameters>::G1Parameters>> for G1Prepared<P>
[src]
impl<P: Bls12Parameters> From<GroupAffine<<P as Bls12Parameters>::G1Parameters>> for G1Prepared<P>
[src]impl<P: Bls12Parameters> From<GroupAffine<<P as Bls12Parameters>::G2Parameters>> for G2Prepared<P>
[src]
impl<P: Bls12Parameters> From<GroupAffine<<P as Bls12Parameters>::G2Parameters>> for G2Prepared<P>
[src]impl<P: MNT4Parameters> From<GroupAffine<<P as MNT4Parameters>::G1Parameters>> for G1Prepared<P>
[src]
impl<P: MNT4Parameters> From<GroupAffine<<P as MNT4Parameters>::G1Parameters>> for G1Prepared<P>
[src]impl<P: MNT4Parameters> From<GroupAffine<<P as MNT4Parameters>::G2Parameters>> for G2Prepared<P>
[src]
impl<P: MNT4Parameters> From<GroupAffine<<P as MNT4Parameters>::G2Parameters>> for G2Prepared<P>
[src]impl<P: MNT6Parameters> From<GroupAffine<<P as MNT6Parameters>::G1Parameters>> for G1Prepared<P>
[src]
impl<P: MNT6Parameters> From<GroupAffine<<P as MNT6Parameters>::G1Parameters>> for G1Prepared<P>
[src]impl<P: MNT6Parameters> From<GroupAffine<<P as MNT6Parameters>::G2Parameters>> for G2Prepared<P>
[src]
impl<P: MNT6Parameters> From<GroupAffine<<P as MNT6Parameters>::G2Parameters>> for G2Prepared<P>
[src]Performs the conversion.
Performs the conversion.
impl<M: Parameters, ConstraintF: Field> ToConstraintField<ConstraintF> for GroupAffine<M> where
M::BaseField: ToConstraintField<ConstraintF>,
[src]
impl<M: Parameters, ConstraintF: Field> ToConstraintField<ConstraintF> for GroupAffine<M> where
M::BaseField: ToConstraintField<ConstraintF>,
[src]Returns the point at infinity. Note that in affine coordinates,
the point at infinity does not lie on the curve, and this is indicated
by setting the infinity
flag to true.
Auto Trait Implementations
impl<P> Send for GroupAffine<P>
impl<P> Sync for GroupAffine<P>
impl<P> Unpin for GroupAffine<P> where
P: Unpin,
<P as ModelParameters>::BaseField: Unpin,
Blanket Implementations
Mutably borrows from an owned value. Read more
fn hash_uncompressed<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize> where
H: Digest,
[src]type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V