Struct snarkvm_curves::templates::twisted_edwards_extended::GroupAffine[][src]

pub struct GroupAffine<P: Parameters> {
    pub x: P::BaseField,
    pub y: P::BaseField,
    // some fields omitted
}

Fields

x: P::BaseFieldy: P::BaseField

Implementations

impl<P: Parameters> GroupAffine<P>[src]

pub fn new(x: P::BaseField, y: P::BaseField) -> Self[src]

#[must_use]pub fn scale_by_cofactor(&self) -> Self::Projective[src]

pub fn is_on_curve(&self) -> bool[src]

Checks that the current point is on the elliptic curve.

Trait Implementations

impl<'a, P: Parameters> Add<&'a GroupAffine<P>> for GroupAffine<P>[src]

type Output = Self

The resulting type after applying the + operator.

impl<'a, P: Parameters> AddAssign<&'a GroupAffine<P>> for GroupAffine<P>[src]

impl<P: Parameters> AffineCurve for GroupAffine<P>[src]

type BaseField = P::BaseField

type Projective = GroupProjective<P>

type ScalarField = P::ScalarField

fn from_x_coordinate(x: Self::BaseField, greatest: bool) -> Option<Self>[src]

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.

fn from_y_coordinate(y: Self::BaseField, greatest: bool) -> Option<Self>[src]

Attempts to construct an affine point given a y-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.

fn is_on_curve(&self) -> bool[src]

Checks that the current point is on the elliptic curve.

impl<P: Parameters> CanonicalDeserialize for GroupAffine<P>[src]

impl<P: Parameters> CanonicalSerialize for GroupAffine<P>[src]

impl<P: Parameters> Clone for GroupAffine<P> where
    P: Parameters
[src]

impl<P: Parameters> ConstantSerializedSize for GroupAffine<P>[src]

impl<P: Parameters> Copy for GroupAffine<P> where
    P: Parameters
[src]

impl<P: Parameters> Debug for GroupAffine<P> where
    P: Parameters
[src]

impl<P: Parameters> Default for GroupAffine<P>[src]

impl<'de, P: Parameters> Deserialize<'de> for GroupAffine<P> where
    P::BaseField: Deserialize<'de>,
    P::BaseField: Deserialize<'de>, 
[src]

impl<P: Parameters> Display for GroupAffine<P>[src]

impl<P: Parameters> Eq for GroupAffine<P> where
    P: Parameters
[src]

impl<P: Parameters> From<GroupAffine<P>> for GroupProjective<P>[src]

impl<P: Parameters> From<GroupProjective<P>> for GroupAffine<P>[src]

impl<P: Parameters> FromBytes for GroupAffine<P>[src]

impl<P: Parameters> Group for GroupAffine<P>[src]

type ScalarField = P::ScalarField

impl<P: Parameters> Hash for GroupAffine<P> where
    P: Parameters
[src]

impl<'a, P: Parameters> Mul<&'a <P as ModelParameters>::ScalarField> for GroupAffine<P>[src]

type Output = Self

The resulting type after applying the * operator.

impl<'a, P: Parameters> MulAssign<&'a <P as ModelParameters>::ScalarField> for GroupAffine<P>[src]

impl<P: Parameters> Neg for GroupAffine<P>[src]

type Output = Self

The resulting type after applying the - operator.

impl<P: Parameters> PartialEq<GroupAffine<P>> for GroupAffine<P> where
    P: Parameters
[src]

impl<P: Parameters> Serialize for GroupAffine<P> where
    P::BaseField: Serialize,
    P::BaseField: Serialize
[src]

impl<'a, P: Parameters> Sub<&'a GroupAffine<P>> for GroupAffine<P>[src]

type Output = Self

The resulting type after applying the - operator.

impl<'a, P: Parameters> SubAssign<&'a GroupAffine<P>> for GroupAffine<P>[src]

impl<P: Parameters> ToBytes for GroupAffine<P>[src]

impl<M: TEModelParameters, F: Field> ToConstraintField<F> for TEAffine<M> where
    M::BaseField: ToConstraintField<F>, 
[src]

impl<P: Parameters> Zero for GroupAffine<P>[src]

Auto Trait Implementations

impl<P> RefUnwindSafe for GroupAffine<P> where
    P: RefUnwindSafe,
    <P as ModelParameters>::BaseField: RefUnwindSafe

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

impl<P> UnwindSafe for GroupAffine<P> where
    P: UnwindSafe,
    <P as ModelParameters>::BaseField: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> UniformRand for T where
    Standard: Distribution<T>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,