Struct blstrs::G1Affine[][src]

pub struct G1Affine(_);
Expand description

This is an element of $\mathbb{G}_1$ represented in the affine coordinate space. It is ideal to keep elements in this representation to reduce memory usage and improve performance through the use of mixed curve model arithmetic.

Implementations

impl G1Affine[src]

pub fn to_compressed(&self) -> [u8; 48][src]

Serializes this element into compressed form.

pub fn to_uncompressed(&self) -> [u8; 96][src]

Serializes this element into uncompressed form.

pub fn from_uncompressed(bytes: &[u8; 96]) -> Option<Self>[src]

Attempts to deserialize an uncompressed element.

pub fn from_uncompressed_unchecked(bytes: &[u8; 96]) -> Option<Self>[src]

Attempts to deserialize an uncompressed element, not checking if the element is on the curve and not checking if it is in the correct subgroup.

This is dangerous to call unless you trust the bytes you are reading; otherwise, API invariants may be broken. Please consider using from_uncompressed() instead.

pub fn from_compressed(bytes: &[u8; 48]) -> Option<Self>[src]

Attempts to deserialize a compressed element.

pub fn from_compressed_unchecked(bytes: &[u8; 48]) -> Option<Self>[src]

Attempts to deserialize an uncompressed element, not checking if the element is in the correct subgroup.

This is dangerous to call unless you trust the bytes you are reading; otherwise, API invariants may be broken. Please consider using from_compressed() instead.

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

Returns true if this point is free of an $h$-torsion component, and so it exists within the $q$-order subgroup $\mathbb{G}_1$. This should always return true unless an “unchecked” API was used.

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

Returns true if this point is on the curve. This should always return true unless an “unchecked” API was used.

pub fn from_raw_unchecked(x: Fp, y: Fp, _infinity: bool) -> Self[src]

pub fn x(&self) -> Fp[src]

Returns the x coordinate.

pub fn y(&self) -> Fp[src]

Returns the y coordinate.

pub const fn uncompressed_size() -> usize[src]

pub const fn compressed_size() -> usize[src]

pub fn raw_fmt_size() -> usize[src]

pub fn write_raw<W: Write>(&self, writer: W) -> Result<usize, Error>[src]

pub fn read_raw<R: Read>(reader: R) -> Result<Self, Error>[src]

pub fn read_raw_checked<R: Read>(reader: R) -> Result<Self, Error>[src]

Trait Implementations

impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: &'b G1Affine) -> G1Projective[src]

Performs the + operation. Read more

impl<'b> Add<&'b G1Affine> for G1Projective[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: &'b G1Affine) -> G1Projective[src]

Performs the + operation. Read more

impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: &'b G1Projective) -> G1Projective[src]

Performs the + operation. Read more

impl<'b> Add<&'b G1Projective> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: &'b G1Projective) -> G1Projective[src]

Performs the + operation. Read more

impl<'a> Add<G1Affine> for &'a G1Projective[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: G1Affine) -> G1Projective[src]

Performs the + operation. Read more

impl Add<G1Affine> for G1Projective[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: G1Affine) -> G1Projective[src]

Performs the + operation. Read more

impl<'a> Add<G1Projective> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: G1Projective) -> G1Projective[src]

Performs the + operation. Read more

impl Add<G1Projective> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the + operator.

fn add(self, rhs: G1Projective) -> G1Projective[src]

Performs the + operation. Read more

impl<'b> AddAssign<&'b G1Affine> for G1Projective[src]

fn add_assign(&mut self, rhs: &'b G1Affine)[src]

Performs the += operation. Read more

impl AddAssign<G1Affine> for G1Projective[src]

fn add_assign(&mut self, rhs: G1Affine)[src]

Performs the += operation. Read more

impl AsMut<blst_p1_affine> for G1Affine[src]

fn as_mut(&mut self) -> &mut blst_p1_affine[src]

Performs the conversion.

impl AsRef<blst_p1_affine> for G1Affine[src]

fn as_ref(&self) -> &blst_p1_affine[src]

Performs the conversion.

impl Clone for G1Affine[src]

fn clone(&self) -> G1Affine[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl CurveAffine for G1Affine[src]

type Engine = Bls12

type Scalar = Scalar

type Base = Fp

type Projective = G1Projective

type Uncompressed = G1Uncompressed

type Compressed = G1Compressed

fn zero() -> Self[src]

Returns the additive identity.

fn one() -> Self[src]

Returns a fixed generator of unknown exponent.

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

Determines if this point represents the point at infinity; the additive identity. Read more

fn mul<S: Into<<Self::Scalar as PrimeField>::Repr>>(
    &self,
    by: S
) -> Self::Projective
[src]

Performs scalar multiplication of this element with mixed addition.

fn negate(&mut self)[src]

Negates this element.

fn into_projective(&self) -> Self::Projective[src]

Converts this element into its affine representation.

fn into_compressed(&self) -> Self::Compressed[src]

Converts this element into its compressed encoding, so long as it’s not the point at infinity. Read more

fn into_uncompressed(&self) -> Self::Uncompressed[src]

Converts this element into its uncompressed encoding, so long as it’s not the point at infinity. Read more

impl Debug for G1Affine[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Default for G1Affine[src]

fn default() -> G1Affine[src]

Returns the “default value” for a type. Read more

impl<'de> Deserialize<'de> for G1Affine[src]

fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>[src]

Deserialize this value from the given Serde deserializer. Read more

impl Display for G1Affine[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl From<&'_ G1Affine> for G1Projective[src]

fn from(p: &G1Affine) -> G1Projective[src]

Performs the conversion.

impl From<&'_ G1Projective> for G1Affine[src]

fn from(p: &G1Projective) -> G1Affine[src]

Performs the conversion.

impl From<G1Affine> for G1Projective[src]

fn from(p: G1Affine) -> G1Projective[src]

Performs the conversion.

impl From<G1Projective> for G1Affine[src]

fn from(p: G1Projective) -> G1Affine[src]

Performs the conversion.

impl<'a, 'b> Mul<&'b Scalar> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the * operator.

fn mul(self, other: &'b Scalar) -> Self::Output[src]

Performs the * operation. Read more

impl<'b> Mul<&'b Scalar> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Scalar) -> G1Projective[src]

Performs the * operation. Read more

impl<'a> Mul<Scalar> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the * operator.

fn mul(self, rhs: Scalar) -> G1Projective[src]

Performs the * operation. Read more

impl Mul<Scalar> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the * operator.

fn mul(self, rhs: Scalar) -> G1Projective[src]

Performs the * operation. Read more

impl Neg for &G1Affine[src]

type Output = G1Affine

The resulting type after applying the - operator.

fn neg(self) -> G1Affine[src]

Performs the unary - operation. Read more

impl Neg for G1Affine[src]

type Output = G1Affine

The resulting type after applying the - operator.

fn neg(self) -> G1Affine[src]

Performs the unary - operation. Read more

impl PairingCurveAffine for G1Affine[src]

type Prepared = G1Affine

type Pair = G2Affine

type PairingResult = Fp12

fn prepare(&self) -> Self::Prepared[src]

Prepares this element for pairing purposes.

fn pairing_with(&self, other: &Self::Pair) -> Self::PairingResult[src]

Perform a pairing

impl PartialEq<G1Affine> for G1Affine[src]

fn eq(&self, other: &Self) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl Serialize for G1Affine[src]

fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>[src]

Serialize this value into the given Serde serializer. Read more

impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: &'b G1Affine) -> G1Projective[src]

Performs the - operation. Read more

impl<'b> Sub<&'b G1Affine> for G1Projective[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: &'b G1Affine) -> G1Projective[src]

Performs the - operation. Read more

impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: &'b G1Projective) -> G1Projective[src]

Performs the - operation. Read more

impl<'b> Sub<&'b G1Projective> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: &'b G1Projective) -> G1Projective[src]

Performs the - operation. Read more

impl<'a> Sub<G1Affine> for &'a G1Projective[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: G1Affine) -> G1Projective[src]

Performs the - operation. Read more

impl Sub<G1Affine> for G1Projective[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: G1Affine) -> G1Projective[src]

Performs the - operation. Read more

impl<'a> Sub<G1Projective> for &'a G1Affine[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: G1Projective) -> G1Projective[src]

Performs the - operation. Read more

impl Sub<G1Projective> for G1Affine[src]

type Output = G1Projective

The resulting type after applying the - operator.

fn sub(self, rhs: G1Projective) -> G1Projective[src]

Performs the - operation. Read more

impl<'b> SubAssign<&'b G1Affine> for G1Projective[src]

fn sub_assign(&mut self, rhs: &'b G1Affine)[src]

Performs the -= operation. Read more

impl SubAssign<G1Affine> for G1Projective[src]

fn sub_assign(&mut self, rhs: G1Affine)[src]

Performs the -= operation. Read more

impl Copy for G1Affine[src]

impl Eq for G1Affine[src]

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V

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