summaryrefslogtreecommitdiffstats
path: root/libtommath/pre_gen/mpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtommath/pre_gen/mpi.c')
-rw-r--r--libtommath/pre_gen/mpi.c525
1 files changed, 498 insertions, 27 deletions
diff --git a/libtommath/pre_gen/mpi.c b/libtommath/pre_gen/mpi.c
index 8ec8a10..78945ac 100644
--- a/libtommath/pre_gen/mpi.c
+++ b/libtommath/pre_gen/mpi.c
@@ -43,6 +43,10 @@ char *mp_error_to_string(int code)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_error.c */
/* Start: bn_fast_mp_invmod.c */
@@ -191,6 +195,10 @@ LBL_ERR:mp_clear_multi (&x, &y, &u, &v, &B, &D, NULL);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_fast_mp_invmod.c */
/* Start: bn_fast_mp_montgomery_reduce.c */
@@ -363,6 +371,10 @@ int fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_fast_mp_montgomery_reduce.c */
/* Start: bn_fast_s_mp_mul_digs.c */
@@ -438,6 +450,7 @@ int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
/* execute loop */
for (iz = 0; iz < iy; ++iz) {
_W += ((mp_word)*tmpx++)*((mp_word)*tmpy--);
+
}
/* store term */
@@ -472,6 +485,10 @@ int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_fast_s_mp_mul_digs.c */
/* Start: bn_fast_s_mp_mul_high_digs.c */
@@ -573,6 +590,10 @@ int fast_s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_fast_s_mp_mul_high_digs.c */
/* Start: bn_fast_s_mp_sqr.c */
@@ -687,6 +708,10 @@ int fast_s_mp_sqr (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_fast_s_mp_sqr.c */
/* Start: bn_mp_2expt.c */
@@ -735,6 +760,10 @@ mp_2expt (mp_int * a, int b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_2expt.c */
/* Start: bn_mp_abs.c */
@@ -778,6 +807,10 @@ mp_abs (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_abs.c */
/* Start: bn_mp_add.c */
@@ -831,6 +864,10 @@ int mp_add (mp_int * a, mp_int * b, mp_int * c)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_add.c */
/* Start: bn_mp_add_d.c */
@@ -940,6 +977,10 @@ mp_add_d (mp_int * a, mp_digit b, mp_int * c)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_add_d.c */
/* Start: bn_mp_addmod.c */
@@ -981,6 +1022,10 @@ mp_addmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_addmod.c */
/* Start: bn_mp_and.c */
@@ -1038,6 +1083,10 @@ mp_and (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_and.c */
/* Start: bn_mp_clamp.c */
@@ -1082,6 +1131,10 @@ mp_clamp (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_clamp.c */
/* Start: bn_mp_clear.c */
@@ -1126,6 +1179,10 @@ mp_clear (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_clear.c */
/* Start: bn_mp_clear_multi.c */
@@ -1160,6 +1217,10 @@ void mp_clear_multi(mp_int *mp, ...)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_clear_multi.c */
/* Start: bn_mp_cmp.c */
@@ -1203,6 +1264,10 @@ mp_cmp (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_cmp.c */
/* Start: bn_mp_cmp_d.c */
@@ -1247,6 +1312,10 @@ int mp_cmp_d(mp_int * a, mp_digit b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_cmp_d.c */
/* Start: bn_mp_cmp_mag.c */
@@ -1302,6 +1371,10 @@ int mp_cmp_mag (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_cmp_mag.c */
/* Start: bn_mp_cnt_lsb.c */
@@ -1355,6 +1428,10 @@ int mp_cnt_lsb(mp_int *a)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_cnt_lsb.c */
/* Start: bn_mp_copy.c */
@@ -1423,6 +1500,10 @@ mp_copy (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_copy.c */
/* Start: bn_mp_count_bits.c */
@@ -1468,6 +1549,10 @@ mp_count_bits (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_count_bits.c */
/* Start: bn_mp_div.c */
@@ -1760,6 +1845,10 @@ LBL_Q:mp_clear (&q);
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_div.c */
/* Start: bn_mp_div_2.c */
@@ -1828,6 +1917,10 @@ int mp_div_2(mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_div_2.c */
/* Start: bn_mp_div_2d.c */
@@ -1925,6 +2018,10 @@ int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_div_2d.c */
/* Start: bn_mp_div_3.c */
@@ -2004,6 +2101,10 @@ mp_div_3 (mp_int * a, mp_int *c, mp_digit * d)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_div_3.c */
/* Start: bn_mp_div_d.c */
@@ -2114,6 +2215,10 @@ int mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_div_d.c */
/* Start: bn_mp_dr_is_modulus.c */
@@ -2157,6 +2262,10 @@ int mp_dr_is_modulus(mp_int *a)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_dr_is_modulus.c */
/* Start: bn_mp_dr_reduce.c */
@@ -2251,6 +2360,10 @@ top:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_dr_reduce.c */
/* Start: bn_mp_dr_setup.c */
@@ -2283,6 +2396,10 @@ void mp_dr_setup(mp_int *a, mp_digit *d)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_dr_setup.c */
/* Start: bn_mp_exch.c */
@@ -2317,6 +2434,10 @@ mp_exch (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_exch.c */
/* Start: bn_mp_expt_d.c */
@@ -2374,6 +2495,10 @@ int mp_expt_d (mp_int * a, mp_digit b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_expt_d.c */
/* Start: bn_mp_exptmod.c */
@@ -2445,7 +2570,7 @@ int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y)
}
/* modified diminished radix reduction */
-#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C)
+#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C) && defined(BN_S_MP_EXPTMOD_C)
if (mp_reduce_is_2k_l(P) == MP_YES) {
return s_mp_exptmod(G, X, P, Y, 1);
}
@@ -2486,6 +2611,10 @@ int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_exptmod.c */
/* Start: bn_mp_exptmod_fast.c */
@@ -2807,6 +2936,10 @@ LBL_M:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_exptmod_fast.c */
/* Start: bn_mp_exteuclid.c */
@@ -2889,6 +3022,10 @@ _ERR: mp_clear_multi(&u1, &u2, &u3, &v1, &v2, &v3, &t1, &t2, &t3, &q, &tmp, NULL
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_exteuclid.c */
/* Start: bn_mp_fread.c */
@@ -2956,6 +3093,10 @@ int mp_fread(mp_int *a, int radix, FILE *stream)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_fread.c */
/* Start: bn_mp_fwrite.c */
@@ -3008,6 +3149,10 @@ int mp_fwrite(mp_int *a, int radix, FILE *stream)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_fwrite.c */
/* Start: bn_mp_gcd.c */
@@ -3121,6 +3266,10 @@ LBL_U:mp_clear (&v);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_gcd.c */
/* Start: bn_mp_get_int.c */
@@ -3166,6 +3315,10 @@ unsigned long mp_get_int(mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_get_int.c */
/* Start: bn_mp_grow.c */
@@ -3223,6 +3376,10 @@ int mp_grow (mp_int * a, int size)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_grow.c */
/* Start: bn_mp_init.c */
@@ -3269,6 +3426,10 @@ int mp_init (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init.c */
/* Start: bn_mp_init_copy.c */
@@ -3301,6 +3462,10 @@ int mp_init_copy (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init_copy.c */
/* Start: bn_mp_init_multi.c */
@@ -3360,6 +3525,10 @@ int mp_init_multi(mp_int *mp, ...)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init_multi.c */
/* Start: bn_mp_init_set.c */
@@ -3392,6 +3561,10 @@ int mp_init_set (mp_int * a, mp_digit b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init_set.c */
/* Start: bn_mp_init_set_int.c */
@@ -3423,6 +3596,10 @@ int mp_init_set_int (mp_int * a, unsigned long b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init_set_int.c */
/* Start: bn_mp_init_size.c */
@@ -3471,6 +3648,10 @@ int mp_init_size (mp_int * a, int size)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_init_size.c */
/* Start: bn_mp_invmod.c */
@@ -3514,6 +3695,10 @@ int mp_invmod (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_invmod.c */
/* Start: bn_mp_invmod_slow.c */
@@ -3689,6 +3874,10 @@ LBL_ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_invmod_slow.c */
/* Start: bn_mp_is_square.c */
@@ -3798,6 +3987,10 @@ ERR:mp_clear(&t);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_is_square.c */
/* Start: bn_mp_jacobi.c */
@@ -3903,6 +4096,10 @@ LBL_A1:mp_clear (&a1);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_jacobi.c */
/* Start: bn_mp_karatsuba_mul.c */
@@ -3934,12 +4131,12 @@ LBL_A1:mp_clear (&a1);
* b = b1 * B**n + b0
*
* Then, a * b =>
- a1b1 * B**2n + ((a1 - a0)(b1 - b0) + a0b0 + a1b1) * B + a0b0
+ a1b1 * B**2n + ((a1 + a0)(b1 + b0) - (a0b0 + a1b1)) * B + a0b0
*
* Note that a1b1 and a0b0 are used twice and only need to be
* computed once. So in total three half size (half # of
* digit) multiplications are performed, a0b0, a1b1 and
- * (a1-b1)(a0-b0)
+ * (a1+b1)(a0+b0)
*
* Note that a multiplication of half the digits requires
* 1/4th the number of single precision multiplications so in
@@ -4030,19 +4227,19 @@ int mp_karatsuba_mul (mp_int * a, mp_int * b, mp_int * c)
if (mp_mul (&x1, &y1, &x1y1) != MP_OKAY)
goto X1Y1; /* x1y1 = x1*y1 */
- /* now calc x1-x0 and y1-y0 */
- if (mp_sub (&x1, &x0, &t1) != MP_OKAY)
+ /* now calc x1+x0 and y1+y0 */
+ if (s_mp_add (&x1, &x0, &t1) != MP_OKAY)
goto X1Y1; /* t1 = x1 - x0 */
- if (mp_sub (&y1, &y0, &x0) != MP_OKAY)
+ if (s_mp_add (&y1, &y0, &x0) != MP_OKAY)
goto X1Y1; /* t2 = y1 - y0 */
if (mp_mul (&t1, &x0, &t1) != MP_OKAY)
- goto X1Y1; /* t1 = (x1 - x0) * (y1 - y0) */
+ goto X1Y1; /* t1 = (x1 + x0) * (y1 + y0) */
/* add x0y0 */
if (mp_add (&x0y0, &x1y1, &x0) != MP_OKAY)
goto X1Y1; /* t2 = x0y0 + x1y1 */
- if (mp_sub (&x0, &t1, &t1) != MP_OKAY)
- goto X1Y1; /* t1 = x0y0 + x1y1 - (x1-x0)*(y1-y0) */
+ if (s_mp_sub (&t1, &x0, &t1) != MP_OKAY)
+ goto X1Y1; /* t1 = (x1+x0)*(y1+y0) - (x1y1 + x0y0) */
/* shift by B */
if (mp_lshd (&t1, B) != MP_OKAY)
@@ -4070,6 +4267,10 @@ ERR:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_karatsuba_mul.c */
/* Start: bn_mp_karatsuba_sqr.c */
@@ -4155,8 +4356,8 @@ int mp_karatsuba_sqr (mp_int * a, mp_int * b)
if (mp_sqr (&x1, &x1x1) != MP_OKAY)
goto X1X1; /* x1x1 = x1*x1 */
- /* now calc (x1-x0)**2 */
- if (mp_sub (&x1, &x0, &t1) != MP_OKAY)
+ /* now calc (x1+x0)**2 */
+ if (s_mp_add (&x1, &x0, &t1) != MP_OKAY)
goto X1X1; /* t1 = x1 - x0 */
if (mp_sqr (&t1, &t1) != MP_OKAY)
goto X1X1; /* t1 = (x1 - x0) * (x1 - x0) */
@@ -4164,8 +4365,8 @@ int mp_karatsuba_sqr (mp_int * a, mp_int * b)
/* add x0y0 */
if (s_mp_add (&x0x0, &x1x1, &t2) != MP_OKAY)
goto X1X1; /* t2 = x0x0 + x1x1 */
- if (mp_sub (&t2, &t1, &t1) != MP_OKAY)
- goto X1X1; /* t1 = x0x0 + x1x1 - (x1-x0)*(x1-x0) */
+ if (s_mp_sub (&t1, &t2, &t1) != MP_OKAY)
+ goto X1X1; /* t1 = (x1+x0)**2 - (x0x0 + x1x1) */
/* shift by B */
if (mp_lshd (&t1, B) != MP_OKAY)
@@ -4191,6 +4392,10 @@ ERR:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_karatsuba_sqr.c */
/* Start: bn_mp_lcm.c */
@@ -4251,6 +4456,10 @@ LBL_T:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_lcm.c */
/* Start: bn_mp_lshd.c */
@@ -4318,6 +4527,10 @@ int mp_lshd (mp_int * a, int b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_lshd.c */
/* Start: bn_mp_mod.c */
@@ -4366,6 +4579,10 @@ mp_mod (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mod.c */
/* Start: bn_mp_mod_2d.c */
@@ -4421,6 +4638,10 @@ mp_mod_2d (mp_int * a, int b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mod_2d.c */
/* Start: bn_mp_mod_d.c */
@@ -4448,6 +4669,10 @@ mp_mod_d (mp_int * a, mp_digit b, mp_digit * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mod_d.c */
/* Start: bn_mp_montgomery_calc_normalization.c */
@@ -4507,6 +4732,10 @@ int mp_montgomery_calc_normalization (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_montgomery_calc_normalization.c */
/* Start: bn_mp_montgomery_reduce.c */
@@ -4625,6 +4854,10 @@ mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_montgomery_reduce.c */
/* Start: bn_mp_montgomery_setup.c */
@@ -4684,6 +4917,10 @@ mp_montgomery_setup (mp_int * n, mp_digit * rho)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_montgomery_setup.c */
/* Start: bn_mp_mul.c */
@@ -4750,6 +4987,10 @@ int mp_mul (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mul.c */
/* Start: bn_mp_mul_2.c */
@@ -4832,6 +5073,10 @@ int mp_mul_2(mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mul_2.c */
/* Start: bn_mp_mul_2d.c */
@@ -4917,6 +5162,10 @@ int mp_mul_2d (mp_int * a, int b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mul_2d.c */
/* Start: bn_mp_mul_d.c */
@@ -4996,6 +5245,10 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mul_d.c */
/* Start: bn_mp_mulmod.c */
@@ -5017,8 +5270,7 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int * c)
*/
/* d = a * b (mod c) */
-int
-mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
+int mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
{
int res;
mp_int t;
@@ -5037,6 +5289,10 @@ mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_mulmod.c */
/* Start: bn_mp_n_root.c */
@@ -5169,6 +5425,10 @@ LBL_T1:mp_clear (&t1);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_n_root.c */
/* Start: bn_mp_neg.c */
@@ -5209,6 +5469,10 @@ int mp_neg (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_neg.c */
/* Start: bn_mp_or.c */
@@ -5259,6 +5523,10 @@ int mp_or (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_or.c */
/* Start: bn_mp_prime_fermat.c */
@@ -5321,6 +5589,10 @@ LBL_T:mp_clear (&t);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_fermat.c */
/* Start: bn_mp_prime_is_divisible.c */
@@ -5371,6 +5643,10 @@ int mp_prime_is_divisible (mp_int * a, int *result)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_is_divisible.c */
/* Start: bn_mp_prime_is_prime.c */
@@ -5454,6 +5730,10 @@ LBL_B:mp_clear (&b);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_is_prime.c */
/* Start: bn_mp_prime_miller_rabin.c */
@@ -5557,6 +5837,10 @@ LBL_N1:mp_clear (&n1);
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_miller_rabin.c */
/* Start: bn_mp_prime_next_prime.c */
@@ -5727,6 +6011,10 @@ LBL_ERR:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_next_prime.c */
/* Start: bn_mp_prime_rabin_miller_trials.c */
@@ -5779,6 +6067,10 @@ int mp_prime_rabin_miller_trials(int size)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_rabin_miller_trials.c */
/* Start: bn_mp_prime_random_ex.c */
@@ -5846,10 +6138,8 @@ int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback
maskOR_msb = 0;
maskOR_msb_offset = ((size & 7) == 1) ? 1 : 0;
if (flags & LTM_PRIME_2MSB_ON) {
- maskOR_msb |= 1 << ((size - 2) & 7);
- } else if (flags & LTM_PRIME_2MSB_OFF) {
- maskAND &= ~(1 << ((size - 2) & 7));
- }
+ maskOR_msb |= 0x80 >> ((9 - size) & 7);
+ }
/* get the maskOR_lsb */
maskOR_lsb = 1;
@@ -5906,6 +6196,10 @@ error:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_prime_random_ex.c */
/* Start: bn_mp_radix_size.c */
@@ -5984,6 +6278,10 @@ int mp_radix_size (mp_int * a, int radix, int *size)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_radix_size.c */
/* Start: bn_mp_radix_smap.c */
@@ -6008,6 +6306,10 @@ int mp_radix_size (mp_int * a, int radix, int *size)
const char *mp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_radix_smap.c */
/* Start: bn_mp_rand.c */
@@ -6063,6 +6365,10 @@ mp_rand (mp_int * a, int digits)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_rand.c */
/* Start: bn_mp_read_radix.c */
@@ -6145,6 +6451,10 @@ int mp_read_radix (mp_int * a, const char *str, int radix)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_read_radix.c */
/* Start: bn_mp_read_signed_bin.c */
@@ -6166,8 +6476,7 @@ int mp_read_radix (mp_int * a, const char *str, int radix)
*/
/* read signed bin, big endian, first byte is 0==positive or 1==negative */
-int
-mp_read_signed_bin (mp_int * a, unsigned char *b, int c)
+int mp_read_signed_bin (mp_int * a, const unsigned char *b, int c)
{
int res;
@@ -6187,6 +6496,10 @@ mp_read_signed_bin (mp_int * a, unsigned char *b, int c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_read_signed_bin.c */
/* Start: bn_mp_read_unsigned_bin.c */
@@ -6208,8 +6521,7 @@ mp_read_signed_bin (mp_int * a, unsigned char *b, int c)
*/
/* reads a unsigned char array, assumes the msb is stored first [big endian] */
-int
-mp_read_unsigned_bin (mp_int * a, unsigned char *b, int c)
+int mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c)
{
int res;
@@ -6243,6 +6555,10 @@ mp_read_unsigned_bin (mp_int * a, unsigned char *b, int c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_read_unsigned_bin.c */
/* Start: bn_mp_reduce.c */
@@ -6343,6 +6659,10 @@ CLEANUP:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce.c */
/* Start: bn_mp_reduce_2k.c */
@@ -6404,6 +6724,10 @@ ERR:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_2k.c */
/* Start: bn_mp_reduce_2k_l.c */
@@ -6466,6 +6790,10 @@ ERR:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_2k_l.c */
/* Start: bn_mp_reduce_2k_setup.c */
@@ -6513,6 +6841,10 @@ int mp_reduce_2k_setup(mp_int *a, mp_digit *d)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_2k_setup.c */
/* Start: bn_mp_reduce_2k_setup_l.c */
@@ -6557,6 +6889,10 @@ ERR:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_2k_setup_l.c */
/* Start: bn_mp_reduce_is_2k.c */
@@ -6609,6 +6945,10 @@ int mp_reduce_is_2k(mp_int *a)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_is_2k.c */
/* Start: bn_mp_reduce_is_2k_l.c */
@@ -6653,6 +6993,10 @@ int mp_reduce_is_2k_l(mp_int *a)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_is_2k_l.c */
/* Start: bn_mp_reduce_setup.c */
@@ -6687,6 +7031,10 @@ int mp_reduce_setup (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_reduce_setup.c */
/* Start: bn_mp_rshd.c */
@@ -6759,6 +7107,10 @@ void mp_rshd (mp_int * a, int b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_rshd.c */
/* Start: bn_mp_set.c */
@@ -6788,6 +7140,10 @@ void mp_set (mp_int * a, mp_digit b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_set.c */
/* Start: bn_mp_set_int.c */
@@ -6836,6 +7192,10 @@ int mp_set_int (mp_int * a, unsigned long b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_set_int.c */
/* Start: bn_mp_shrink.c */
@@ -6871,6 +7231,10 @@ int mp_shrink (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_shrink.c */
/* Start: bn_mp_signed_bin_size.c */
@@ -6898,6 +7262,10 @@ int mp_signed_bin_size (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_signed_bin_size.c */
/* Start: bn_mp_sqr.c */
@@ -6956,6 +7324,10 @@ if (a->used >= KARATSUBA_SQR_CUTOFF) {
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_sqr.c */
/* Start: bn_mp_sqrmod.c */
@@ -6997,6 +7369,10 @@ mp_sqrmod (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_sqrmod.c */
/* Start: bn_mp_sqrt.c */
@@ -7078,6 +7454,10 @@ E2: mp_clear(&t1);
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_sqrt.c */
/* Start: bn_mp_sub.c */
@@ -7137,6 +7517,10 @@ mp_sub (mp_int * a, mp_int * b, mp_int * c)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_sub.c */
/* Start: bn_mp_sub_d.c */
@@ -7226,6 +7610,10 @@ mp_sub_d (mp_int * a, mp_digit b, mp_int * c)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_sub_d.c */
/* Start: bn_mp_submod.c */
@@ -7268,6 +7656,10 @@ mp_submod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_submod.c */
/* Start: bn_mp_to_signed_bin.c */
@@ -7301,6 +7693,10 @@ int mp_to_signed_bin (mp_int * a, unsigned char *b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_to_signed_bin.c */
/* Start: bn_mp_to_signed_bin_n.c */
@@ -7332,6 +7728,10 @@ int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_to_signed_bin_n.c */
/* Start: bn_mp_to_unsigned_bin.c */
@@ -7380,6 +7780,10 @@ int mp_to_unsigned_bin (mp_int * a, unsigned char *b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_to_unsigned_bin.c */
/* Start: bn_mp_to_unsigned_bin_n.c */
@@ -7411,6 +7815,10 @@ int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_to_unsigned_bin_n.c */
/* Start: bn_mp_toom_mul.c */
@@ -7695,6 +8103,10 @@ ERR:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_toom_mul.c */
/* Start: bn_mp_toom_sqr.c */
@@ -7921,6 +8333,10 @@ ERR:
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_toom_sqr.c */
/* Start: bn_mp_toradix.c */
@@ -7996,6 +8412,10 @@ int mp_toradix (mp_int * a, char *str, int radix)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_toradix.c */
/* Start: bn_mp_toradix_n.c */
@@ -8085,6 +8505,10 @@ int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_toradix_n.c */
/* Start: bn_mp_unsigned_bin_size.c */
@@ -8113,6 +8537,10 @@ int mp_unsigned_bin_size (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_unsigned_bin_size.c */
/* Start: bn_mp_xor.c */
@@ -8164,6 +8592,10 @@ mp_xor (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_xor.c */
/* Start: bn_mp_zero.c */
@@ -8200,6 +8632,10 @@ void mp_zero (mp_int * a)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_mp_zero.c */
/* Start: bn_prime_tab.c */
@@ -8261,6 +8697,10 @@ const mp_digit ltm_prime_tab[] = {
};
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_prime_tab.c */
/* Start: bn_reverse.c */
@@ -8300,6 +8740,10 @@ bn_reverse (unsigned char *s, int len)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_reverse.c */
/* Start: bn_s_mp_add.c */
@@ -8409,6 +8853,10 @@ s_mp_add (mp_int * a, mp_int * b, mp_int * c)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_add.c */
/* Start: bn_s_mp_exptmod.c */
@@ -8428,7 +8876,6 @@ s_mp_add (mp_int * a, mp_int * b, mp_int * c)
*
* Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org
*/
-
#ifdef MP_LOW_MEM
#define TAB_SIZE 32
#else
@@ -8662,6 +9109,10 @@ LBL_M:
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_exptmod.c */
/* Start: bn_s_mp_mul_digs.c */
@@ -8752,6 +9203,10 @@ int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_mul_digs.c */
/* Start: bn_s_mp_mul_high_digs.c */
@@ -8833,6 +9288,10 @@ s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_mul_high_digs.c */
/* Start: bn_s_mp_sqr.c */
@@ -8917,6 +9376,10 @@ int s_mp_sqr (mp_int * a, mp_int * b)
}
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_sqr.c */
/* Start: bn_s_mp_sub.c */
@@ -9006,6 +9469,10 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int * c)
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bn_s_mp_sub.c */
/* Start: bncore.c */
@@ -9031,17 +9498,21 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int * c)
CPU /Compiler /MUL CUTOFF/SQR CUTOFF
-------------------------------------------------------------
Intel P4 Northwood /GCC v3.4.1 / 88/ 128/LTM 0.32 ;-)
- AMD Athlon64 /GCC v3.4.4 / 74/ 124/LTM 0.34
+ AMD Athlon64 /GCC v3.4.4 / 80/ 120/LTM 0.35
*/
-int KARATSUBA_MUL_CUTOFF = 74, /* Min. number of digits before Karatsuba multiplication is used. */
- KARATSUBA_SQR_CUTOFF = 124, /* Min. number of digits before Karatsuba squaring is used. */
+int KARATSUBA_MUL_CUTOFF = 80, /* Min. number of digits before Karatsuba multiplication is used. */
+ KARATSUBA_SQR_CUTOFF = 120, /* Min. number of digits before Karatsuba squaring is used. */
TOOM_MUL_CUTOFF = 350, /* no optimal values of these are known yet so set em high */
TOOM_SQR_CUTOFF = 400;
#endif
+/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/pre_gen/mpi.c,v $ */
+/* $Revision: 1.1.1.3 $ */
+/* $Date: 2005/09/26 16:32:22 $ */
+
/* End: bncore.c */