| 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
| 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 stored in globalz.
|
| Determine if a point (which is assumed
| to be on the curve) is in the correct (sub)group
| of the curve.
|
| In normal mode, the used group is secp256k1,
| which has cofactor=1 meaning that every
| point on the curve is in the group, and
| this function returns always true.
|
| When compiling in exhaustive test mode,
| a slightly different curve equation
| is used, leading to a group with a (very)
| small subgroup, and that subgroup is
| what is used for all cryptographic operations.
| In that mode, this function checks whether
| a point that is on the curve is in fact
| also in that subgroup.
|
| Set a group element (affine) equal to
| the point with the given X coordinate,
| and given oddness for Y. Return value
| indicates whether the result is valid.
|
| Set r equal to the sum of a and b (with b
| given in affine coordinates). This
| is more efficient than gej_add_var.
| It is identical to gej_add_ge
| but without constant-time guarantee,
| and b is allowed to be infinity. If rzr
| is non-NULL this sets *rzr such that
| r->z == a->z * *rzr (a cannot be infinity
| in that case).
|