Merge 8.7 (removing some dead libtommath-related code)
This commit is contained in:
+13
-11
@@ -207,7 +207,6 @@ int TclParseArgsObjv(Tcl_Interp *interp,
|
||||
#define TclBN_mp_div_2 mp_div_2
|
||||
#define TclBN_mp_div_2d mp_div_2d
|
||||
#define TclBN_mp_exch mp_exch
|
||||
#define TclBN_mp_expt_u32 mp_expt_u32
|
||||
#define TclBN_mp_get_mag_u64 mp_get_mag_u64
|
||||
#define TclBN_mp_grow mp_grow
|
||||
#define TclBN_mp_init mp_init
|
||||
@@ -246,18 +245,18 @@ int TclParseArgsObjv(Tcl_Interp *interp,
|
||||
#define TclBN_mp_xor mp_xor
|
||||
#define TclBN_mp_zero mp_zero
|
||||
#define TclBN_s_mp_add s_mp_add
|
||||
#define TclBN_s_mp_balance_mul s_mp_balance_mul
|
||||
#define TclBN_s_mp_div_3 s_mp_div_3
|
||||
#define TclBN_s_mp_karatsuba_mul s_mp_karatsuba_mul
|
||||
#define TclBN_s_mp_karatsuba_sqr s_mp_karatsuba_sqr
|
||||
#define TclBN_s_mp_mul_digs s_mp_mul_digs
|
||||
#define TclBN_s_mp_mul_digs_fast s_mp_mul_digs_fast
|
||||
#define TclBN_s_mp_reverse s_mp_reverse
|
||||
#define TclBN_mp_balance_mul s_mp_balance_mul
|
||||
#define TclBN_mp_div_3 s_mp_div_3
|
||||
#define TclBN_mp_karatsuba_mul s_mp_karatsuba_mul
|
||||
#define TclBN_mp_karatsuba_sqr s_mp_karatsuba_sqr
|
||||
#define TclBN_mp_mul_digs s_mp_mul_digs
|
||||
#define TclBN_mp_mul_digs_fast s_mp_mul_digs_fast
|
||||
#define TclBN_mp_reverse s_mp_reverse
|
||||
#define TclBN_s_mp_sqr s_mp_sqr
|
||||
#define TclBN_s_mp_sqr_fast s_mp_sqr_fast
|
||||
#define TclBN_mp_sqr_fast s_mp_sqr_fast
|
||||
#define TclBN_s_mp_sub s_mp_sub
|
||||
#define TclBN_s_mp_toom_mul s_mp_toom_mul
|
||||
#define TclBN_s_mp_toom_sqr s_mp_toom_sqr
|
||||
#define TclBN_mp_toom_mul s_mp_toom_mul
|
||||
#define TclBN_mp_toom_sqr s_mp_toom_sqr
|
||||
|
||||
#ifndef MAC_OSX_TCL /* On UNIX, fill with other stub entries */
|
||||
# define Tcl_MacOSXOpenVersionedBundleResources 0
|
||||
@@ -387,6 +386,9 @@ MODULE_SCOPE const TclTomMathStubs tclTomMathStubs;
|
||||
/* If Tcl is linked with an external libtommath 1.2.x, then mp_expt_n doesn't
|
||||
* exist (since that was introduced in libtommath 1.3.0. Provide it here.) */
|
||||
mp_err MP_WUR TclBN_mp_expt_n(const mp_int *a, int b, mp_int *c) {
|
||||
if ((unsigned)b > MP_MIN(MP_DIGIT_MAX, INT_MAX)) {
|
||||
return MP_VAL;
|
||||
}
|
||||
return mp_expt_u32(a, (uint32_t)b, c);;
|
||||
}
|
||||
#endif /* TCL_WITH_EXTERNAL_TOMMATH */
|
||||
|
||||
+22
-27
@@ -64,20 +64,18 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
MODULE_SCOPE mp_err TclBN_mp_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_mp_div_3(const mp_int *a, mp_int *q, mp_digit *r);
|
||||
MODULE_SCOPE mp_err TclBN_mp_expt_u32(const mp_int *a, uint32_t b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_balance_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_div_3(const mp_int *a, mp_int *c, mp_digit *d);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_karatsuba_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_karatsuba_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_toom_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_toom_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_mp_balance_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_mp_div_3(const mp_int *a, mp_int *c, mp_digit *d);
|
||||
MODULE_SCOPE mp_err TclBN_mp_karatsuba_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_mp_karatsuba_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_mp_toom_mul(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_mp_toom_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_add(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs);
|
||||
MODULE_SCOPE void TclBN_s_mp_reverse(unsigned char *s, size_t len);
|
||||
MODULE_SCOPE mp_err TclBN_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs);
|
||||
MODULE_SCOPE mp_err TclBN_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs);
|
||||
MODULE_SCOPE void TclBN_mp_reverse(unsigned char *s, size_t len);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_sqr(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_sqr_fast(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_mp_sqr_fast(const mp_int *a, mp_int *b);
|
||||
MODULE_SCOPE mp_err TclBN_s_mp_sub(const mp_int *a, const mp_int *b, mp_int *c);
|
||||
MODULE_SCOPE const char *const TclBN_mp_s_rmap;
|
||||
MODULE_SCOPE const uint8_t TclBN_mp_s_rmap_reverse[];
|
||||
@@ -106,12 +104,9 @@ MODULE_SCOPE mp_err TclBN_mp_set_int(mp_int *a, unsigned long b);
|
||||
#define mp_div TclBN_mp_div
|
||||
#define mp_div_d TclBN_mp_div_d
|
||||
#define mp_div_2 TclBN_mp_div_2
|
||||
#define mp_div_3 TclBN_mp_div_3
|
||||
#define mp_div_2d TclBN_mp_div_2d
|
||||
#define mp_exch TclBN_mp_exch
|
||||
#define mp_expt_d TclBN_mp_expt_d
|
||||
#define mp_expt_d_ex TclBN_mp_expt_d_ex
|
||||
#define mp_expt_u32 TclBN_mp_expt_u32
|
||||
#define mp_expt_d TclBN_mp_expt_n
|
||||
#define mp_expt_n TclBN_mp_expt_n
|
||||
#define mp_get_mag_u64 TclBN_mp_get_mag_u64
|
||||
#define mp_grow TclBN_mp_grow
|
||||
@@ -139,7 +134,7 @@ MODULE_SCOPE mp_err TclBN_mp_set_int(mp_int *a, unsigned long b);
|
||||
#define mp_s_rmap TclBN_mp_s_rmap
|
||||
#define mp_s_rmap_reverse TclBN_mp_s_rmap_reverse
|
||||
#define mp_s_rmap_reverse_sz TclBN_mp_s_rmap_reverse_sz
|
||||
#define mp_set TclBN_s_mp_set
|
||||
#define mp_set TclBN_mp_set
|
||||
#define mp_set_i64 TclBN_mp_set_i64
|
||||
#define mp_set_u64 TclBN_mp_set_u64
|
||||
#define mp_shrink TclBN_mp_shrink
|
||||
@@ -162,18 +157,18 @@ MODULE_SCOPE mp_err TclBN_mp_set_int(mp_int *a, unsigned long b);
|
||||
#define mp_xor TclBN_mp_xor
|
||||
#define mp_zero TclBN_mp_zero
|
||||
#define s_mp_add TclBN_s_mp_add
|
||||
#define s_mp_balance_mul TclBN_s_mp_balance_mul
|
||||
#define s_mp_div_3 TclBN_s_mp_div_3
|
||||
#define s_mp_karatsuba_mul TclBN_s_mp_karatsuba_mul
|
||||
#define s_mp_karatsuba_sqr TclBN_s_mp_karatsuba_sqr
|
||||
#define s_mp_mul_digs TclBN_s_mp_mul_digs
|
||||
#define s_mp_mul_digs_fast TclBN_s_mp_mul_digs_fast
|
||||
#define s_mp_reverse TclBN_s_mp_reverse
|
||||
#define s_mp_balance_mul TclBN_mp_balance_mul
|
||||
#define s_mp_div_3 TclBN_mp_div_3
|
||||
#define s_mp_karatsuba_mul TclBN_mp_karatsuba_mul
|
||||
#define s_mp_karatsuba_sqr TclBN_mp_karatsuba_sqr
|
||||
#define s_mp_mul_digs TclBN_mp_mul_digs
|
||||
#define s_mp_mul_digs_fast TclBN_mp_mul_digs_fast
|
||||
#define s_mp_reverse TclBN_mp_reverse
|
||||
#define s_mp_sqr TclBN_s_mp_sqr
|
||||
#define s_mp_sqr_fast TclBN_s_mp_sqr_fast
|
||||
#define s_mp_sqr_fast TclBN_mp_sqr_fast
|
||||
#define s_mp_sub TclBN_s_mp_sub
|
||||
#define s_mp_toom_mul TclBN_s_mp_toom_mul
|
||||
#define s_mp_toom_sqr TclBN_s_mp_toom_sqr
|
||||
#define s_mp_toom_mul TclBN_mp_toom_mul
|
||||
#define s_mp_toom_sqr TclBN_mp_toom_sqr
|
||||
#endif /* !TCL_WITH_EXTERNAL_TOMMATH */
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
|
||||
@@ -249,6 +249,15 @@ mp_err mp_expt_d(const mp_int *a, mp_digit b, mp_int *c)
|
||||
return mp_expt_n(a, (int)b, c);
|
||||
}
|
||||
#endif
|
||||
#ifdef BN_MP_EXPT_U32_C
|
||||
mp_err mp_expt_u32(const mp_int *a, uint32_t b, mp_int *c)
|
||||
{
|
||||
if (b > MP_MIN(MP_DIGIT_MAX, INT_MAX)) {
|
||||
return MP_VAL;
|
||||
}
|
||||
return mp_expt_n(a, (int)b, c);
|
||||
}
|
||||
#endif
|
||||
#ifdef BN_MP_N_ROOT_EX_C
|
||||
mp_err mp_n_root_ex(const mp_int *a, mp_digit b, mp_int *c, int fast)
|
||||
{
|
||||
|
||||
@@ -3,16 +3,6 @@
|
||||
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
|
||||
/* SPDX-License-Identifier: Unlicense */
|
||||
|
||||
#ifdef BN_MP_EXPT_U32_C
|
||||
mp_err mp_expt_u32(const mp_int *a, uint32_t b, mp_int *c)
|
||||
{
|
||||
if (b > MP_MIN(MP_DIGIT_MAX, INT_MAX)) {
|
||||
return MP_VAL;
|
||||
}
|
||||
return mp_expt_n(a, (int)b, c);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* calculate c = a**b using a square-multiply algorithm */
|
||||
mp_err mp_expt_n(const mp_int *a, int b, mp_int *c)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user