@@ -508,7 +508,7 @@ static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, c
508508 secp256k1_fe_sqr (& t , & rr ); /* t = R^2 (1) */
509509 secp256k1_fe_mul (& r -> z , & m , & z ); /* r->z = M*Z (1) */
510510 infinity = secp256k1_fe_normalizes_to_zero (& r -> z ) * (1 - a -> infinity );
511- secp256k1_fe_mul_int (& r -> z , 2 * ( 1 - a -> infinity )); /* r->z = Z3 = 2*M*Z (2) */
511+ secp256k1_fe_mul_int (& r -> z , 2 ); /* r->z = Z3 = 2*M*Z (2) */
512512 r -> x = t ; /* r->x = R^2 (1) */
513513 secp256k1_fe_negate (& q , & q , 1 ); /* q = -Q (2) */
514514 secp256k1_fe_add (& r -> x , & q ); /* r->x = R^2-Q (3) */
@@ -520,12 +520,10 @@ static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, c
520520 secp256k1_fe_add (& t , & n ); /* t = R*(2*R^2-3*Q)+M^4 (2) */
521521 secp256k1_fe_negate (& r -> y , & t , 2 ); /* r->y = R*(3*Q-2*R^2)-M^4 (3) */
522522 secp256k1_fe_normalize_weak (& r -> y );
523- secp256k1_fe_mul_int (& r -> x , 4 * ( 1 - a -> infinity )); /* r->x = X3 = 4*(R^2-Q) */
524- secp256k1_fe_mul_int (& r -> y , 4 * ( 1 - a -> infinity )); /* r->y = Y3 = 4*R*(3*Q-2*R^2)-4*M^4 (4) */
523+ secp256k1_fe_mul_int (& r -> x , 4 ); /* r->x = X3 = 4*(R^2-Q) */
524+ secp256k1_fe_mul_int (& r -> y , 4 ); /* r->y = Y3 = 4*R*(3*Q-2*R^2)-4*M^4 (4) */
525525
526- /** In case a->infinity == 1, the above code results in r->x, r->y, and r->z all equal to 0.
527- * Replace r with b->x, b->y, 1 in that case.
528- */
526+ /** In case a->infinity == 1, replace r with (b->x, b->y, 1). */
529527 secp256k1_fe_cmov (& r -> x , & b -> x , a -> infinity );
530528 secp256k1_fe_cmov (& r -> y , & b -> y , a -> infinity );
531529 secp256k1_fe_cmov (& r -> z , & fe_1 , a -> infinity );
0 commit comments