Struct fullcodec_jubjub::JubJubExtended [−][src]
pub struct JubJubExtended { /* fields omitted */ }
Expand description
This represents an extended point (X, Y, Z, T1, T2)
with Z
nonzero, corresponding to the affine point
(X/Z, Y/Z)
. We always have T1 * T2 = XY/Z
.
You can do the following things with a point in this form:
- Convert it into a point in the affine form.
- Add it to an
JubJubExtended
,AffineNielsPoint
orExtendedNielsPoint
. - Double it using
double()
. - Compare it with another extended point using
PartialEq
orct_eq()
.
Implementations
Determines if this point is the identity.
Determines if this point is of small order.
Determines if this point is torsion free and so is contained in the prime order subgroup.
Determines if this point is prime order, or in other words that
the smallest scalar multiplied by this point that produces the
identity is r
. This is equivalent to checking that the point
is both torsion free and not the identity.
Multiplies this element by the cofactor 8
.
Performs a pre-processing step that produces an ExtendedNielsPoint
for use in multiple additions.
Returns two scalars suitable for hashing that represent the Extended Point.
Computes the doubling of a point more efficiently than a point can be added to itself.
Trait Implementations
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the +
operator.
Performs the +
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
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
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Returns the identity.
Constructs an affine point from an extended point
using the map (X, Y, Z, T1, T2) => (XZ, Y/Z)
as Z is always nonzero. This requires a field inversion
and so it is recommended to perform these in a batch
using batch_normalize
instead.
Constructs an extended point (with Z = 1
) from
an affine point using the map (x, y) => (x, y, 1, x, y)
.
Performs the conversion.
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the *
operator.
Performs the *
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the *
operator.
Performs the *
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the *
operator.
Performs the *
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the *
operator.
Performs the *
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Computes the negation of a point P = (X, Y, Z, T)
as -P = (-X, Y, Z, -T1, T2)
. The choice of T1
is made without loss of generality.
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
The resulting type after applying the -
operator.
Performs the -
operation. Read more
type Output = JubJubExtended
type Output = JubJubExtended
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
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Auto Trait Implementations
impl RefUnwindSafe for JubJubExtended
impl Send for JubJubExtended
impl Sync for JubJubExtended
impl Unpin for JubJubExtended
impl UnwindSafe for JubJubExtended
Blanket Implementations
Mutably borrows from an owned value. Read more