Lines Matching defs:pz

85 /* Converts a point P(px, py, pz) from Jacobian projective coordinates to
90 ec_GFp_pt_jac2aff(const mp_int *px, const mp_int *py, const mp_int *pz,
104 if (ec_GFp_pt_is_inf_jac(px, py, pz) == MP_YES) {
109 /* transform (px, py, pz) into (px / pz^2, py / pz^3) */
110 if (mp_cmp_d(pz, 1) == 0) {
114 MP_CHECKOK(group->meth->field_div(NULL, pz, &z1, group->meth));
128 /* Checks if point P(px, py, pz) is at infinity. Uses Jacobian
131 ec_GFp_pt_is_inf_jac(const mp_int *px, const mp_int *py, const mp_int *pz)
133 return mp_cmp_z(pz);
136 /* Sets P(px, py, pz) to be the point at infinity. Uses Jacobian
139 ec_GFp_pt_set_inf_jac(mp_int *px, mp_int *py, mp_int *pz)
141 mp_zero(pz);
145 /* Computes R = P + Q where R is (rx, ry, rz), P is (px, py, pz) and Q is
153 ec_GFp_pt_add_jac_aff(const mp_int *px, const mp_int *py, const mp_int *pz,
175 if (ec_GFp_pt_is_inf_jac(px, py, pz) == MP_YES) {
182 MP_CHECKOK(mp_copy(pz, rz));
186 /* A = qx * pz^2, B = qy * pz^3 */
187 MP_CHECKOK(group->meth->field_sqr(pz, &A, group->meth));
188 MP_CHECKOK(group->meth->field_mul(&A, pz, &B, group->meth));
200 /* rz = pz * C */
201 MP_CHECKOK(group->meth->field_mul(pz, &C, rz, group->meth));
242 ec_GFp_pt_dbl_jac(const mp_int *px, const mp_int *py, const mp_int *pz,
257 if (ec_GFp_pt_is_inf_jac(px, py, pz) == MP_YES) {
262 if (mp_cmp_d(pz, 1) == 0) {
270 /* M = 3 * (px + pz^2) * (px - pz^2) */
271 MP_CHECKOK(group->meth->field_sqr(pz, &M, group->meth));
278 /* M = 3 * (px^2) + a * (pz^4) */
282 MP_CHECKOK(group->meth->field_sqr(pz, &M, group->meth));
289 /* rz = 2 * py * pz */
291 if (mp_cmp_d(pz, 1) == 0) {
296 MP_CHECKOK(group->meth->field_mul(&t0, pz, rz, group->meth));