Skip to content

Commit 91eb0da

Browse files
committed
Merge pull request bitcoin#247
a1d5ae1 Tiny optimization (Pieter Wuille)
2 parents 729badf + a1d5ae1 commit 91eb0da

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/group_impl.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)