Struct secp256k1::curve::Affine[][src]

pub struct Affine {
    pub x: Field,
    pub y: Field,
    pub infinity: bool,
}

A group element of the secp256k1 curve, in affine coordinates.

Fields

x: Fieldy: Fieldinfinity: bool

Implementations

impl Affine[src]

pub fn set_xy(&mut self, x: &Field, y: &Field)[src]

Set a group element equal to the point with given X and Y coordinates.

pub fn set_xquad(&mut self, x: &Field) -> bool[src]

Set a group element (affine) equal to the point with the given X coordinate and a Y coordinate that is a quadratic residue modulo p. The return value is true iff a coordinate with the given X coordinate exists.

pub fn set_xo_var(&mut self, x: &Field, odd: bool) -> bool[src]

Set a group element (affine) equal to the point with the given X coordinate, and given oddness for Y. Return value indicates whether the result is valid.

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

Check whether a group element is the point at infinity.

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

Check whether a group element is valid (i.e., on the curve).

pub fn neg_in_place(&mut self, other: &Affine)[src]

pub fn neg(&self) -> Affine[src]

pub fn set_gej(&mut self, a: &Jacobian)[src]

Set a group element equal to another which is given in jacobian coordinates.

pub fn from_gej(a: &Jacobian) -> Self[src]

pub fn set_gej_var(&mut self, a: &Jacobian)[src]

pub fn set_gej_zinv(&mut self, a: &Jacobian, zi: &Field)[src]

pub fn clear(&mut self)[src]

Clear a secp256k1_ge to prevent leaking sensitive information.

Trait Implementations

impl Clone for Affine[src]

impl Debug for Affine[src]

impl Default for Affine[src]

impl Eq for Affine[src]

impl From<AffineStorage> for Affine[src]

impl Into<Affine> for PublicKey[src]

impl Into<AffineStorage> for Affine[src]

impl PartialEq<Affine> for Affine[src]

impl StructuralEq for Affine[src]

impl StructuralPartialEq for Affine[src]

Auto Trait Implementations

impl RefUnwindSafe for Affine

impl Send for Affine

impl Sync for Affine

impl Unpin for Affine

impl UnwindSafe for Affine

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> From<T> for T[src]

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

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

type Output = T

Should always be Self

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

type Owned = T

The resulting type after obtaining ownership.

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<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]