Modules

Structs

An elliptic curve point where it is easy to compare the x-coordinate of two points

Enums

An elliptic curve point where the x-coordinate has already been constrained to be reduced or not. In the reduced case one can more optimally compare equality of x-coordinates.

Functions

Checks that P is indeed a point on the elliptic curve C.
If is_strict = true, then this function constrains that P.x != Q.x. If you are calling this with is_strict = false, you must ensure that P.x != Q.x by some external logic (such as a mathematical theorem).
Assumptions
Implements: computing 2P + Q = P + Q + P for P = (x0, y0), Q = (x1, y1)
Constrains P != -Q but allows P == Q, in which case output is (0,0). For Weierstrass curves only.
If is_strict = true, then this function constrains that P.x != Q.x. If you are calling this with is_strict = false, you must ensure that P.x != Q.x by some external logic (such as a mathematical theorem).
Computes [scalar] * P on short Weierstrass curve y^2 = x^3 + b

Type Definitions