pub/ed{25519,448}.c: Double by adding self, rather than multiplying by two.
[catacomb] / pub / ed448.c
index ae56556..6032802 100644 (file)
@@ -237,7 +237,7 @@ static void ptdbl(fgoldi *X, fgoldi *Y, fgoldi *Z,
   fgoldi_sub(&t1, &t1, &t2);           /* t1 = C - D */
   fgoldi_sub(X, &t0, Y);               /* X = c (B - E) */
   fgoldi_sqr(&t0, Z0);                 /* t0 = H = (c Z0)^2 */
-  fgoldi_mulconst(&t0, &t0, 2);                /* t0 = 2 H */
+  fgoldi_add(&t0, &t0, &t0);           /* t0 = 2 H */
   fgoldi_sub(&t0, Y, &t0);             /* t0 = J = E - 2 H */
   fgoldi_mul(X, X, &t0);               /* X = c (B - E) J */
   fgoldi_mul(Z, Y, &t0);               /* Z = E J */