Struct ark_ec::models::short_weierstrass_jacobian::GroupProjective[][src]

#[must_use]
pub struct GroupProjective<P: Parameters> { pub x: P::BaseField, pub y: P::BaseField, pub z: P::BaseField, // some fields omitted }
Expand description

Jacobian coordinates for a point on an elliptic curve in short Weierstrass form, over the base field P::BaseField. This struct implements arithmetic via the Jacobian formulae

Fields

x: P::BaseFieldy: P::BaseFieldz: P::BaseField

Implementations

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

Performs the += operation. Read more

Performs the += operation. Read more

Performs the += operation. Read more

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Formats the value using the given formatter. Read more

Performs the conversion.

Performs the conversion.

Reads Self from reader.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

Performs the *= operation. Read more

The resulting type after applying the - operator.

Performs the unary - operation. Read more

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

This method tests for !=.

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

This method tests for !=.

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

This method tests for !=.

Normalizes a slice of projective elements so that conversion to affine is cheap.

In more detail, this method converts a curve point in Jacobian coordinates (x, y, z) into an equivalent representation (x/z^2, y/z^3, 1).

For N = v.len(), this costs 1 inversion + 6N field multiplications + N field squarings.

(Where batch inversion comprises 3N field multiplications + 1 inversion of these operations)

Sets self = 2 * self. Note that Jacobian formulae are incomplete, and so doubling cannot be computed as self + self. Instead, this implementation uses the following specialized doubling formulae:

When other.is_normalized() (i.e., other.z == 1), we can use a more efficient formula to compute self + other.

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 and outputs a vector containing the affine equivalents. Read more

Doubles this element.

Converts self into the affine representation.

Set self to be self + other, where other: Self::Affine. This is usually faster than adding other in projective form. Read more

Performs scalar multiplication of this element.

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

Performs the -= operation. Read more

Performs the -= operation. Read more

Performs the -= operation. Read more

Method which takes an iterator and generates Self from the elements by “summing up” the items. Read more

Method which takes an iterator and generates Self from the elements by “summing up” the items. Read more

Serializes self into writer.

Returns the point at infinity, which always has Z = 0.

Checks whether self.z.is_zero().

Sets self to the additive identity element of Self, 0.

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Returns self + self.

Sets self := self + self.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

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

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

recently added

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

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.