summaryrefslogtreecommitdiffstats
path: root/libtommath/pre_gen/mpi.c
diff options
context:
space:
mode:
authorKevin B Kenny <kennykb@acm.org>2005-12-27 17:59:37 (GMT)
committerKevin B Kenny <kennykb@acm.org>2005-12-27 17:59:37 (GMT)
commit98036f8f9d6591f75cbbb744ae789e53250d2459 (patch)
tree3273c8ec1192254a0628eccc71a9b1088fea0f2a /libtommath/pre_gen/mpi.c
parentfe06c63182af8cb6b22df8c3cf9c7670c92c320d (diff)
downloadtcl-98036f8f9d6591f75cbbb744ae789e53250d2459.zip
tcl-98036f8f9d6591f75cbbb744ae789e53250d2459.tar.gz
tcl-98036f8f9d6591f75cbbb744ae789e53250d2459.tar.bz2
Import of libtommath 0.37
Diffstat (limited to 'libtommath/pre_gen/mpi.c')
-rw-r--r--libtommath/pre_gen/mpi.c503
1 files changed, 256 insertions, 247 deletions
diff --git a/libtommath/pre_gen/mpi.c b/libtommath/pre_gen/mpi.c
index 78945ac..d915a58 100644
--- a/libtommath/pre_gen/mpi.c
+++ b/libtommath/pre_gen/mpi.c
@@ -44,8 +44,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_error.c */
@@ -196,8 +196,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_fast_mp_invmod.c */
@@ -372,8 +372,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_fast_mp_montgomery_reduce.c */
@@ -486,8 +486,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_fast_s_mp_mul_digs.c */
@@ -591,8 +591,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_fast_s_mp_mul_high_digs.c */
@@ -709,8 +709,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_fast_s_mp_sqr.c */
@@ -761,8 +761,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_2expt.c */
@@ -808,8 +808,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_abs.c */
@@ -865,8 +865,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_add.c */
@@ -913,6 +913,9 @@ mp_add_d (mp_int * a, mp_digit b, mp_int * c)
/* fix sign */
a->sign = c->sign = MP_NEG;
+ /* clamp */
+ mp_clamp(c);
+
return res;
}
@@ -978,8 +981,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_add_d.c */
@@ -1023,8 +1026,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_addmod.c */
@@ -1084,8 +1087,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_and.c */
@@ -1132,8 +1135,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_clamp.c */
@@ -1180,8 +1183,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_clear.c */
@@ -1218,8 +1221,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_clear_multi.c */
@@ -1265,8 +1268,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_cmp.c */
@@ -1313,8 +1316,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_cmp_d.c */
@@ -1372,8 +1375,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_cmp_mag.c */
@@ -1429,8 +1432,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_cnt_lsb.c */
@@ -1501,8 +1504,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_copy.c */
@@ -1550,8 +1553,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_count_bits.c */
@@ -1846,8 +1849,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_div.c */
@@ -1918,8 +1921,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_div_2.c */
@@ -2019,8 +2022,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_div_2d.c */
@@ -2102,8 +2105,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_div_3.c */
@@ -2216,8 +2219,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_div_d.c */
@@ -2263,8 +2266,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_dr_is_modulus.c */
@@ -2361,8 +2364,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_dr_reduce.c */
@@ -2397,8 +2400,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_dr_setup.c */
@@ -2435,8 +2438,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_exch.c */
@@ -2496,8 +2499,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_expt_d.c */
@@ -2612,8 +2615,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_exptmod.c */
@@ -2937,8 +2940,8 @@ LBL_M:
/* $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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_exptmod_fast.c */
@@ -3023,8 +3026,8 @@ _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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_exteuclid.c */
@@ -3094,8 +3097,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_fread.c */
@@ -3150,8 +3153,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_fwrite.c */
@@ -3267,8 +3270,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_gcd.c */
@@ -3316,8 +3319,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_get_int.c */
@@ -3377,8 +3380,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_grow.c */
@@ -3427,8 +3430,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init.c */
@@ -3463,8 +3466,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init_copy.c */
@@ -3526,8 +3529,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init_multi.c */
@@ -3562,8 +3565,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init_set.c */
@@ -3597,8 +3600,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init_set_int.c */
@@ -3649,8 +3652,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_init_size.c */
@@ -3696,8 +3699,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_invmod.c */
@@ -3875,8 +3878,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_invmod_slow.c */
@@ -3988,8 +3991,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_is_square.c */
@@ -4097,8 +4100,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_jacobi.c */
@@ -4268,8 +4271,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_karatsuba_mul.c */
@@ -4393,8 +4396,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_karatsuba_sqr.c */
@@ -4457,8 +4460,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_lcm.c */
@@ -4528,8 +4531,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_lshd.c */
@@ -4580,8 +4583,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mod.c */
@@ -4639,8 +4642,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mod_2d.c */
@@ -4670,8 +4673,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mod_d.c */
@@ -4733,8 +4736,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_montgomery_calc_normalization.c */
@@ -4855,8 +4858,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_montgomery_reduce.c */
@@ -4918,8 +4921,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_montgomery_setup.c */
@@ -4988,8 +4991,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mul.c */
@@ -5074,8 +5077,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mul_2.c */
@@ -5163,8 +5166,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mul_2d.c */
@@ -5246,8 +5249,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mul_d.c */
@@ -5290,8 +5293,8 @@ int 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_mulmod.c */
@@ -5426,8 +5429,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_n_root.c */
@@ -5470,8 +5473,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_neg.c */
@@ -5524,8 +5527,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_or.c */
@@ -5590,8 +5593,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_fermat.c */
@@ -5644,8 +5647,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_is_divisible.c */
@@ -5731,8 +5734,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_is_prime.c */
@@ -5838,8 +5841,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_miller_rabin.c */
@@ -6012,8 +6015,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_next_prime.c */
@@ -6068,8 +6071,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_rabin_miller_trials.c */
@@ -6197,8 +6200,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_prime_random_ex.c */
@@ -6241,7 +6244,7 @@ int mp_radix_size (mp_int * a, int radix, int *size)
}
if (mp_iszero(a) == MP_YES) {
- *size = 2;
+ *size = 2;
return MP_OKAY;
}
@@ -6279,8 +6282,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_radix_size.c */
@@ -6307,8 +6310,8 @@ const char *mp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs
#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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_radix_smap.c */
@@ -6366,8 +6369,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_rand.c */
@@ -6395,6 +6398,9 @@ int mp_read_radix (mp_int * a, const char *str, int radix)
int y, res, neg;
char ch;
+ /* zero the digit bignum */
+ mp_zero(a);
+
/* make sure the radix is ok */
if (radix < 2 || radix > 64) {
return MP_VAL;
@@ -6452,8 +6458,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_read_radix.c */
@@ -6497,8 +6503,8 @@ int mp_read_signed_bin (mp_int * a, const 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_read_signed_bin.c */
@@ -6556,8 +6562,8 @@ int mp_read_unsigned_bin (mp_int * a, const 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_read_unsigned_bin.c */
@@ -6660,8 +6666,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce.c */
@@ -6725,8 +6731,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_2k.c */
@@ -6791,8 +6797,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_2k_l.c */
@@ -6842,8 +6848,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_2k_setup.c */
@@ -6890,8 +6896,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_2k_setup_l.c */
@@ -6946,8 +6952,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_is_2k.c */
@@ -6994,8 +7000,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_is_2k_l.c */
@@ -7032,8 +7038,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_reduce_setup.c */
@@ -7108,8 +7114,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_rshd.c */
@@ -7141,8 +7147,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_set.c */
@@ -7193,8 +7199,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_set_int.c */
@@ -7232,8 +7238,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_shrink.c */
@@ -7263,8 +7269,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_signed_bin_size.c */
@@ -7325,8 +7331,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_sqr.c */
@@ -7370,8 +7376,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_sqrmod.c */
@@ -7455,8 +7461,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_sqrt.c */
@@ -7518,8 +7524,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_sub.c */
@@ -7562,6 +7568,10 @@ mp_sub_d (mp_int * a, mp_digit b, mp_int * c)
a->sign = MP_ZPOS;
res = mp_add_d(a, b, c);
a->sign = c->sign = MP_NEG;
+
+ /* clamp */
+ mp_clamp(c);
+
return res;
}
@@ -7611,8 +7621,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_sub_d.c */
@@ -7657,8 +7667,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_submod.c */
@@ -7694,8 +7704,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_to_signed_bin.c */
@@ -7729,8 +7739,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_to_signed_bin_n.c */
@@ -7781,8 +7791,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_to_unsigned_bin.c */
@@ -7816,8 +7826,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_to_unsigned_bin_n.c */
@@ -8104,8 +8114,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_toom_mul.c */
@@ -8334,8 +8344,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_toom_sqr.c */
@@ -8413,8 +8423,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_toradix.c */
@@ -8448,12 +8458,12 @@ int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen)
char *_s = str;
/* check range of the maxlen, radix */
- if (maxlen < 3 || radix < 2 || radix > 64) {
+ if (maxlen < 2 || radix < 2 || radix > 64) {
return MP_VAL;
}
/* quick out if its zero */
- if (mp_iszero(a) == 1) {
+ if (mp_iszero(a) == MP_YES) {
*str++ = '0';
*str = '\0';
return MP_OKAY;
@@ -8478,21 +8488,20 @@ int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen)
digs = 0;
while (mp_iszero (&t) == 0) {
+ if (--maxlen < 1) {
+ /* no more room */
+ break;
+ }
if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) {
mp_clear (&t);
return res;
}
*str++ = mp_s_rmap[d];
++digs;
-
- if (--maxlen == 1) {
- /* no more room */
- break;
- }
}
/* reverse the digits of the string. In this case _s points
- * to the first digit [exluding the sign] of the number]
+ * to the first digit [exluding the sign] of the number
*/
bn_reverse ((unsigned char *)_s, digs);
@@ -8506,8 +8515,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_toradix_n.c */
@@ -8538,8 +8547,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_unsigned_bin_size.c */
@@ -8593,8 +8602,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_xor.c */
@@ -8633,8 +8642,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_mp_zero.c */
@@ -8698,8 +8707,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_prime_tab.c */
@@ -8741,8 +8750,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_reverse.c */
@@ -8854,8 +8863,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_add.c */
@@ -9110,8 +9119,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_exptmod.c */
@@ -9204,8 +9213,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_mul_digs.c */
@@ -9289,8 +9298,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_mul_high_digs.c */
@@ -9377,8 +9386,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_sqr.c */
@@ -9470,8 +9479,8 @@ 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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bn_s_mp_sub.c */
@@ -9510,8 +9519,8 @@ int KARATSUBA_MUL_CUTOFF = 80, /* Min. number of digits before Karatsub
#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 $ */
+/* $Revision: 1.1.1.4 $ */
+/* $Date: 2005/12/27 18:00:26 $ */
/* End: bncore.c */