Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/src/group.h
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | |||||
static int secp256k1_ge_is_infinity(const secp256k1_ge *a); | static int secp256k1_ge_is_infinity(const secp256k1_ge *a); | ||||
/** Check whether a group element is valid (i.e., on the curve). */ | /** Check whether a group element is valid (i.e., on the curve). */ | ||||
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a); | static int secp256k1_ge_is_valid_var(const secp256k1_ge *a); | ||||
/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ | /** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ | ||||
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a); | static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a); | ||||
/** Set a group element equal to another which is given in jacobian coordinates */ | /** Set a group element equal to another which is given in jacobian coordinates. Constant time. */ | ||||
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a); | static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a); | ||||
/** Set a group element equal to another which is given in jacobian coordinates. */ | |||||
static void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a); | |||||
/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ | /** Set a batch of group elements equal to the inputs given in jacobian coordinates */ | ||||
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len); | static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len); | ||||
/** Bring a batch inputs given in jacobian coordinates (with known z-ratios) to | /** Bring a batch inputs given in jacobian coordinates (with known z-ratios) to | ||||
* the same global z "denominator". zr must contain the known z-ratios such | * the same global z "denominator". zr must contain the known z-ratios such | ||||
* that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. The x and y | * that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. The x and y | ||||
* coordinates of the result are stored in r, the common z coordinate is | * coordinates of the result are stored in r, the common z coordinate is | ||||
* stored in globalz. */ | * stored in globalz. */ | ||||
▲ Show 20 Lines • Show All 76 Lines • Show Last 20 Lines |