summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclBasic.c2
-rw-r--r--generic/tclExecute.c4
-rw-r--r--generic/tclInt.h2
-rw-r--r--generic/tclObj.c2
-rw-r--r--generic/tclStrToD.c32
-rw-r--r--generic/tclStubInit.c8
-rw-r--r--generic/tclTestObj.c2
-rw-r--r--generic/tclTomMath.decls24
-rw-r--r--generic/tclTomMathDecls.h42
-rw-r--r--generic/tclTomMathInterface.c54
-rw-r--r--libtommath/bn_mp_init_ll.c2
-rw-r--r--libtommath/bn_mp_init_ull.c2
-rw-r--r--unix/Makefile.in15
-rw-r--r--win/Makefile.in4
-rw-r--r--win/makefile.vc4
-rw-r--r--win/tclWinPort.h1
16 files changed, 92 insertions, 108 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 38e64f6..4d42d58 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -7138,7 +7138,7 @@ ExprAbsFunc(
}
goto unChanged;
} else if (l == WIDE_MIN) {
- TclInitBignumFromWideInt(&big, l);
+ mp_init_ll(&big, l);
goto tooLarge;
}
Tcl_SetObjResult(interp, Tcl_NewWideIntObj(-l));
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 6e4be61..8d13c6c 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -7702,7 +7702,7 @@ ExecuteExtendedBinaryMathOp(
* Arguments are opposite sign; remainder is sum.
*/
- TclInitBignumFromWideInt(&big1, w1);
+ mp_init_ll(&big1, w1);
mp_add(&big2, &big1, &big2);
mp_clear(&big1);
BIG_RESULT(&big2);
@@ -8331,7 +8331,7 @@ ExecuteExtendedUnaryMathOp(
if (w != WIDE_MIN) {
WIDE_RESULT(-w);
}
- TclInitBignumFromWideInt(&big, w);
+ mp_init_ll(&big, w);
break;
default:
Tcl_TakeBignumFromObj(NULL, valuePtr, &big);
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 3a53687..0476a83 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -2987,8 +2987,6 @@ MODULE_SCOPE int TclInfoLocalsCmd(void *dummy, Tcl_Interp *interp,
MODULE_SCOPE int TclInfoVarsCmd(void *dummy, Tcl_Interp *interp,
int objc, Tcl_Obj *const objv[]);
MODULE_SCOPE void TclInitAlloc(void);
-MODULE_SCOPE void TclInitBignumFromWideInt(mp_int *, Tcl_WideInt);
-MODULE_SCOPE void TclInitBignumFromWideUInt(mp_int *, Tcl_WideUInt);
MODULE_SCOPE void TclInitDbCkalloc(void);
MODULE_SCOPE void TclInitDoubleConversion(void);
MODULE_SCOPE void TclInitEmbeddedConfigurationInformation(
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 89125cf..02203b0 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -3156,7 +3156,7 @@ GetBignumFromObj(
return TCL_OK;
}
if (objPtr->typePtr == &tclIntType) {
- TclInitBignumFromWideInt(bignumValue,
+ mp_init_ll(bignumValue,
objPtr->internalRep.wideValue);
return TCL_OK;
}
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index ea260d9..d624f87 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -706,7 +706,7 @@ TclParseNumber(
|| (octalSignificandWide >
((Tcl_WideUInt)-1 >> shift)))) {
octalSignificandOverflow = 1;
- TclInitBignumFromWideUInt(&octalSignificandBig,
+ mp_init_ull(&octalSignificandBig,
octalSignificandWide);
}
}
@@ -771,7 +771,7 @@ TclParseNumber(
((size_t)shift >= CHAR_BIT*sizeof(Tcl_WideUInt) ||
significandWide > ((Tcl_WideUInt)-1 >> shift))) {
significandOverflow = 1;
- TclInitBignumFromWideUInt(&significandBig,
+ mp_init_ull(&significandBig,
significandWide);
}
}
@@ -812,7 +812,7 @@ TclParseNumber(
((size_t)shift >= CHAR_BIT*sizeof(Tcl_WideUInt) ||
significandWide > ((Tcl_WideUInt)-1 >> shift))) {
significandOverflow = 1;
- TclInitBignumFromWideUInt(&significandBig,
+ mp_init_ull(&significandBig,
significandWide);
}
}
@@ -1154,7 +1154,7 @@ TclParseNumber(
((size_t)shift >= CHAR_BIT*sizeof(Tcl_WideUInt) ||
significandWide > (MOST_BITS + signum) >> shift)) {
significandOverflow = 1;
- TclInitBignumFromWideUInt(&significandBig, significandWide);
+ mp_init_ull(&significandBig, significandWide);
}
if (shift) {
if (!significandOverflow) {
@@ -1175,7 +1175,7 @@ TclParseNumber(
((size_t)shift >= CHAR_BIT*sizeof(Tcl_WideUInt) ||
significandWide > (MOST_BITS + signum) >> shift)) {
significandOverflow = 1;
- TclInitBignumFromWideUInt(&significandBig, significandWide);
+ mp_init_ull(&significandBig, significandWide);
}
if (shift) {
if (!significandOverflow) {
@@ -1196,7 +1196,7 @@ TclParseNumber(
((size_t)shift >= CHAR_BIT*sizeof(Tcl_WideUInt) ||
octalSignificandWide > (MOST_BITS + signum) >> shift)) {
octalSignificandOverflow = 1;
- TclInitBignumFromWideUInt(&octalSignificandBig,
+ mp_init_ull(&octalSignificandBig,
octalSignificandWide);
}
if (shift) {
@@ -1209,7 +1209,7 @@ TclParseNumber(
}
if (!octalSignificandOverflow) {
if (octalSignificandWide > (MOST_BITS + signum)) {
- TclInitBignumFromWideUInt(&octalSignificandBig,
+ mp_init_ull(&octalSignificandBig,
octalSignificandWide);
octalSignificandOverflow = 1;
} else {
@@ -1237,12 +1237,12 @@ TclParseNumber(
&significandWide, &significandBig, significandOverflow);
if (!significandOverflow && (significandWide > MOST_BITS+signum)){
significandOverflow = 1;
- TclInitBignumFromWideUInt(&significandBig, significandWide);
+ mp_init_ull(&significandBig, significandWide);
}
returnInteger:
if (!significandOverflow) {
if (significandWide > MOST_BITS+signum) {
- TclInitBignumFromWideUInt(&significandBig,
+ mp_init_ull(&significandBig,
significandWide);
significandOverflow = 1;
} else {
@@ -1394,7 +1394,7 @@ AccumulateDecimalDigit(
* bignum and fall through into the bignum case.
*/
- TclInitBignumFromWideUInt(bignumRepPtr, w);
+ mp_init_ull(bignumRepPtr, w);
} else {
/*
* Wide multiplication.
@@ -1537,7 +1537,7 @@ MakeLowPrecisionDouble(
* call MakeHighPrecisionDouble to do it the hard way.
*/
- TclInitBignumFromWideUInt(&significandBig, significand);
+ mp_init_ull(&significandBig, significand);
retval = MakeHighPrecisionDouble(0, &significandBig, numSigDigs,
exponent);
mp_clear(&significandBig);
@@ -3204,7 +3204,7 @@ ShorteningBignumConversionPowD(
* mminus = 5**m5
*/
- TclInitBignumFromWideUInt(&b, bw);
+ mp_init_ull(&b, bw);
mp_init_set(&mminus, 1);
MulPow5(&b, b5, &b);
mp_mul_2d(&b, b2, &b);
@@ -3388,7 +3388,7 @@ StrictBignumConversionPowD(
* b = bw * 2**b2 * 5**b5
*/
- TclInitBignumFromWideUInt(&b, bw);
+ mp_init_ull(&b, bw);
MulPow5(&b, b5, &b);
mp_mul_2d(&b, b2, &b);
@@ -3588,7 +3588,7 @@ ShorteningBignumConversion(
* S = 2**s2 * 5*s5
*/
- TclInitBignumFromWideUInt(&b, bw);
+ mp_init_ull(&b, bw);
mp_mul_2d(&b, b2, &b);
mp_init_set(&S, 1);
MulPow5(&S, s5, &S); mp_mul_2d(&S, s2, &S);
@@ -3797,7 +3797,7 @@ StrictBignumConversion(
*/
mp_init_multi(&dig, NULL);
- TclInitBignumFromWideUInt(&b, bw);
+ mp_init_ull(&b, bw);
mp_mul_2d(&b, b2, &b);
mp_init_set(&S, 1);
MulPow5(&S, s5, &S); mp_mul_2d(&S, s2, &S);
@@ -4439,7 +4439,7 @@ Tcl_InitBignumFromDouble(
Tcl_WideInt w = (Tcl_WideInt) ldexp(fract, mantBits);
int shift = expt - mantBits;
- TclInitBignumFromWideInt(b, w);
+ mp_init_ll(b, w);
if (shift < 0) {
mp_div_2d(b, -shift, b, NULL);
} else if (shift > 0) {
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 7336c78..5bdbb47 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -665,15 +665,15 @@ const TclTomMathStubs tclTomMathStubs = {
TclBN_mp_init_ul, /* 61 */
TclBN_mp_set_ul, /* 62 */
TclBN_mp_cnt_lsb, /* 63 */
- 0, /* 64 */
- 0, /* 65 */
- 0, /* 66 */
+ TclBNInitBignumFromLong, /* 64 */
+ TclBNInitBignumFromWideInt, /* 65 */
+ TclBNInitBignumFromWideUInt, /* 66 */
0, /* 67 */
TclBN_mp_set_ull, /* 68 */
TclBN_mp_get_mag_ull, /* 69 */
TclBN_mp_set_ll, /* 70 */
TclBN_mp_get_mag_ul, /* 71 */
- 0, /* 72 */
+ TclBN_mp_set_l, /* 72 */
0, /* 73 */
0, /* 74 */
0, /* 75 */
diff --git a/generic/tclTestObj.c b/generic/tclTestObj.c
index 9c609c9..f7bfcc4 100644
--- a/generic/tclTestObj.c
+++ b/generic/tclTestObj.c
@@ -131,7 +131,7 @@ TclObjTest_Init(
*
* TestbignumobjCmd --
*
- * This function implmenets the "testbignumobj" command. It is used
+ * This function implements the "testbignumobj" command. It is used
* to exercise the bignum Tcl object type implementation.
*
* Results:
diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls
index d631d2e..76c0e06 100644
--- a/generic/tclTomMath.decls
+++ b/generic/tclTomMath.decls
@@ -191,18 +191,15 @@ declare 63 {
# Formerly internal API to allow initialisation of bignums without knowing the
# typedefs of how a bignum works internally.
-# Removed in 9.0
-#declare 64 {
-# void TclBNInitBignumFromLong(mp_int *bignum, long initVal)
-#}
-# Removed in 9.0
-#declare 65 {
-# void TclBNInitBignumFromWideInt(mp_int *bignum, Tcl_WideInt initVal)
-#}
-# Removed in 9.0
-#declare 66 {
-# void TclBNInitBignumFromWideUInt(mp_int *bignum, Tcl_WideUInt initVal)
-#}
+declare 64 {
+ int TclBNInitBignumFromLong(mp_int *bignum, long initVal)
+}
+declare 65 {
+ int TclBNInitBignumFromWideInt(mp_int *bignum, Tcl_WideInt initVal)
+}
+declare 66 {
+ int TclBNInitBignumFromWideUInt(mp_int *bignum, Tcl_WideUInt initVal)
+}
# Removed in 9.0
#declare 67 {
@@ -221,6 +218,9 @@ declare 70 {
declare 71 {
unsigned long MP_WUR TclBN_mp_get_mag_ul(const mp_int *a)
}
+declare 72 {
+ void TclBN_mp_set_l(mp_int *a, long i)
+}
# Added in libtommath 1.1.0
# No longer in use: replaced by mp_and()
diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h
index 1c41036..fcf7508 100644
--- a/generic/tclTomMathDecls.h
+++ b/generic/tclTomMathDecls.h
@@ -81,9 +81,12 @@ MODULE_SCOPE mp_err TclBN_mp_sqr(const mp_int *a, mp_int *c);
#define mp_grow TclBN_mp_grow
#define mp_init TclBN_mp_init
#define mp_init_copy TclBN_mp_init_copy
+#define mp_init_l TclBNInitBignumFromLong
+#define mp_init_ll TclBNInitBignumFromWideInt
#define mp_init_multi TclBN_mp_init_multi
#define mp_init_size TclBN_mp_init_size
#define mp_init_ul TclBN_mp_init_ul
+#define mp_init_ull TclBNInitBignumFromWideUInt
#define mp_lshd TclBN_mp_lshd
#define mp_mod TclBN_mp_mod
#define mp_mod_2d TclBN_mp_mod_2d
@@ -95,6 +98,7 @@ MODULE_SCOPE mp_err TclBN_mp_sqr(const mp_int *a, mp_int *c);
#define mp_radix_size TclBN_mp_radix_size
#define mp_read_radix TclBN_mp_read_radix
#define mp_rshd TclBN_mp_rshd
+#define mp_set_l TclBN_mp_set_l
#define mp_set_ll TclBN_mp_set_ll
#define mp_set_ul TclBN_mp_set_ul
#define mp_set_ull TclBN_mp_set_ull
@@ -279,9 +283,14 @@ EXTERN mp_err TclBN_mp_init_ul(mp_int *a, unsigned long i) MP_WUR;
EXTERN void TclBN_mp_set_ul(mp_int *a, unsigned long i);
/* 63 */
EXTERN int TclBN_mp_cnt_lsb(const mp_int *a) MP_WUR;
-/* Slot 64 is reserved */
-/* Slot 65 is reserved */
-/* Slot 66 is reserved */
+/* 64 */
+EXTERN int TclBNInitBignumFromLong(mp_int *bignum, long initVal);
+/* 65 */
+EXTERN int TclBNInitBignumFromWideInt(mp_int *bignum,
+ Tcl_WideInt initVal);
+/* 66 */
+EXTERN int TclBNInitBignumFromWideUInt(mp_int *bignum,
+ Tcl_WideUInt initVal);
/* Slot 67 is reserved */
/* 68 */
EXTERN void TclBN_mp_set_ull(mp_int *a, Tcl_WideUInt i);
@@ -291,7 +300,8 @@ EXTERN Tcl_WideUInt TclBN_mp_get_mag_ull(const mp_int *a) MP_WUR;
EXTERN void TclBN_mp_set_ll(mp_int *a, Tcl_WideInt i);
/* 71 */
EXTERN unsigned long TclBN_mp_get_mag_ul(const mp_int *a) MP_WUR;
-/* Slot 72 is reserved */
+/* 72 */
+EXTERN void TclBN_mp_set_l(mp_int *a, long i);
/* Slot 73 is reserved */
/* Slot 74 is reserved */
/* Slot 75 is reserved */
@@ -375,15 +385,15 @@ typedef struct TclTomMathStubs {
mp_err (*tclBN_mp_init_ul) (mp_int *a, unsigned long i) MP_WUR; /* 61 */
void (*tclBN_mp_set_ul) (mp_int *a, unsigned long i); /* 62 */
int (*tclBN_mp_cnt_lsb) (const mp_int *a) MP_WUR; /* 63 */
- void (*reserved64)(void);
- void (*reserved65)(void);
- void (*reserved66)(void);
+ int (*tclBNInitBignumFromLong) (mp_int *bignum, long initVal); /* 64 */
+ int (*tclBNInitBignumFromWideInt) (mp_int *bignum, Tcl_WideInt initVal); /* 65 */
+ int (*tclBNInitBignumFromWideUInt) (mp_int *bignum, Tcl_WideUInt initVal); /* 66 */
void (*reserved67)(void);
void (*tclBN_mp_set_ull) (mp_int *a, Tcl_WideUInt i); /* 68 */
Tcl_WideUInt (*tclBN_mp_get_mag_ull) (const mp_int *a) MP_WUR; /* 69 */
void (*tclBN_mp_set_ll) (mp_int *a, Tcl_WideInt i); /* 70 */
unsigned long (*tclBN_mp_get_mag_ul) (const mp_int *a) MP_WUR; /* 71 */
- void (*reserved72)(void);
+ void (*tclBN_mp_set_l) (mp_int *a, long i); /* 72 */
void (*reserved73)(void);
void (*reserved74)(void);
void (*reserved75)(void);
@@ -518,9 +528,12 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
(tclTomMathStubsPtr->tclBN_mp_set_ul) /* 62 */
#define TclBN_mp_cnt_lsb \
(tclTomMathStubsPtr->tclBN_mp_cnt_lsb) /* 63 */
-/* Slot 64 is reserved */
-/* Slot 65 is reserved */
-/* Slot 66 is reserved */
+#define TclBNInitBignumFromLong \
+ (tclTomMathStubsPtr->tclBNInitBignumFromLong) /* 64 */
+#define TclBNInitBignumFromWideInt \
+ (tclTomMathStubsPtr->tclBNInitBignumFromWideInt) /* 65 */
+#define TclBNInitBignumFromWideUInt \
+ (tclTomMathStubsPtr->tclBNInitBignumFromWideUInt) /* 66 */
/* Slot 67 is reserved */
#define TclBN_mp_set_ull \
(tclTomMathStubsPtr->tclBN_mp_set_ull) /* 68 */
@@ -530,7 +543,8 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
(tclTomMathStubsPtr->tclBN_mp_set_ll) /* 70 */
#define TclBN_mp_get_mag_ul \
(tclTomMathStubsPtr->tclBN_mp_get_mag_ul) /* 71 */
-/* Slot 72 is reserved */
+#define TclBN_mp_set_l \
+ (tclTomMathStubsPtr->tclBN_mp_set_l) /* 72 */
/* Slot 73 is reserved */
/* Slot 74 is reserved */
/* Slot 75 is reserved */
@@ -576,4 +590,8 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
# define mp_sqr TclBN_mp_sqr
#endif
+#define mp_init_i32(a,b) mp_init_l((a),(int32_t)(b))
+#define mp_init_i64(a,b) mp_init_ll((a),(b))
+#define mp_init_u32(a,b) mp_init_ull((a),(uint32_t)(b))
+#define mp_init_u64(a,b) mp_init_ull((a),(b))
#endif /* _TCLINTDECLS */
diff --git a/generic/tclTomMathInterface.c b/generic/tclTomMathInterface.c
index 117cefc..576929c 100644
--- a/generic/tclTomMathInterface.c
+++ b/generic/tclTomMathInterface.c
@@ -91,60 +91,6 @@ TclBN_revision(void)
}
/*
- *----------------------------------------------------------------------
- *
- * TclInitBignumFromWideInt --
- *
- * Allocate and initialize a 'bignum' from a Tcl_WideInt
- *
- * Results:
- * None.
- *
- * Side effects:
- * The 'bignum' is constructed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TclInitBignumFromWideInt(
- mp_int *a, /* Bignum to initialize */
- Tcl_WideInt v) /* Initial value */
-{
- if (mp_init(a) != MP_OKAY) {
- Tcl_Panic("insufficient memory to create bignum");
- }
- mp_set_ll(a, v);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TclInitBignumFromWideUInt --
- *
- * Allocate and initialize a 'bignum' from a Tcl_WideUInt
- *
- * Results:
- * None.
- *
- * Side effects:
- * The 'bignum' is constructed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TclInitBignumFromWideUInt(
- mp_int *a, /* Bignum to initialize */
- Tcl_WideUInt v) /* Initial value */
-{
- if (mp_init(a) != MP_OKAY) {
- Tcl_Panic("insufficient memory to create bignum");
- }
- mp_set_ull(a, v);
-}
-
-/*
* Local Variables:
* mode: c
* c-basic-offset: 4
diff --git a/libtommath/bn_mp_init_ll.c b/libtommath/bn_mp_init_ll.c
index dc7c4a4..484d51c 100644
--- a/libtommath/bn_mp_init_ll.c
+++ b/libtommath/bn_mp_init_ll.c
@@ -3,5 +3,5 @@
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
/* SPDX-License-Identifier: Unlicense */
-MP_INIT_INT(mp_init_ll, mp_set_ll, long long)
+MP_INIT_INT(mp_init_ll, mp_set_ll, Tcl_WideInt)
#endif
diff --git a/libtommath/bn_mp_init_ull.c b/libtommath/bn_mp_init_ull.c
index 84110c0..92ad9f9 100644
--- a/libtommath/bn_mp_init_ull.c
+++ b/libtommath/bn_mp_init_ull.c
@@ -3,5 +3,5 @@
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
/* SPDX-License-Identifier: Unlicense */
-MP_INIT_INT(mp_init_ull, mp_set_ull, unsigned long long)
+MP_INIT_INT(mp_init_ull, mp_set_ull, Tcl_WideUInt)
#endif
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 5170e57..6854716 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -331,12 +331,13 @@ TOMMATH_OBJS = bn_s_mp_reverse.o bn_s_mp_mul_digs_fast.o \
bn_s_mp_get_bit.o bn_mp_get_mag_ul.o bn_mp_grow.o bn_mp_init.o \
bn_mp_init_copy.o bn_mp_init_multi.o bn_mp_init_set.o \
bn_mp_init_size.o bn_mp_init_ul.o bn_s_mp_karatsuba_mul.o \
+ bn_mp_init_l.o bn_mp_init_ll.o bn_mp_init_ull.o \
bn_s_mp_karatsuba_sqr.o bn_s_mp_balance_mul.o \
bn_mp_lshd.o bn_mp_mod.o bn_mp_mod_2d.o bn_mp_mul.o bn_mp_mul_2.o \
bn_mp_mul_2d.o bn_mp_mul_d.o bn_mp_neg.o bn_mp_or.o \
bn_mp_radix_size.o bn_mp_radix_smap.o \
bn_mp_read_radix.o bn_mp_rshd.o bn_mp_set.o bn_mp_set_ul.o \
- bn_mp_shrink.o \
+ bn_mp_shrink.o bn_mp_set_l.o \
bn_mp_sqr.o bn_mp_sqrt.o bn_mp_sub.o bn_mp_sub_d.o \
bn_mp_signed_rsh.o \
bn_mp_to_ubin.o \
@@ -1625,6 +1626,12 @@ bn_mp_init.o: $(TOMMATH_DIR)/bn_mp_init.c $(MATHHDRS)
bn_mp_init_copy.o: $(TOMMATH_DIR)/bn_mp_init_copy.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_copy.c
+bn_mp_init_l.o:$(TOMMATH_DIR)/bn_mp_init_l.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_l.c
+
+bn_mp_init_ll.o:$(TOMMATH_DIR)/bn_mp_init_ll.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_ll.c
+
bn_mp_init_multi.o: $(TOMMATH_DIR)/bn_mp_init_multi.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_multi.c
@@ -1637,6 +1644,9 @@ bn_mp_init_size.o:$(TOMMATH_DIR)/bn_mp_init_size.c $(MATHHDRS)
bn_mp_init_ul.o:$(TOMMATH_DIR)/bn_mp_init_ul.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_ul.c
+bn_mp_init_ull.o:$(TOMMATH_DIR)/bn_mp_init_ull.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_ull.c
+
bn_s_mp_karatsuba_mul.o: $(TOMMATH_DIR)/bn_s_mp_karatsuba_mul.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_karatsuba_mul.c
@@ -1688,6 +1698,9 @@ bn_mp_rshd.o: $(TOMMATH_DIR)/bn_mp_rshd.c $(MATHHDRS)
bn_mp_set.o: $(TOMMATH_DIR)/bn_mp_set.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_set.c
+bn_mp_set_l.o: $(TOMMATH_DIR)/bn_mp_set_l.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_set_l.c
+
bn_mp_set_ul.o: $(TOMMATH_DIR)/bn_mp_set_ul.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_set_ul.c
diff --git a/win/Makefile.in b/win/Makefile.in
index 0596a09..8a63f48 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -384,10 +384,13 @@ TOMMATH_OBJS = \
bn_mp_grow.${OBJEXT} \
bn_mp_init.${OBJEXT} \
bn_mp_init_copy.${OBJEXT} \
+ bn_mp_init_l.${OBJEXT} \
+ bn_mp_init_ll.${OBJEXT} \
bn_mp_init_multi.${OBJEXT} \
bn_mp_init_set.${OBJEXT} \
bn_mp_init_size.${OBJEXT} \
bn_mp_init_ul.${OBJEXT} \
+ bn_mp_init_ull.${OBJEXT} \
bn_mp_lshd.${OBJEXT} \
bn_mp_mod.${OBJEXT} \
bn_mp_mod_2d.${OBJEXT} \
@@ -402,6 +405,7 @@ TOMMATH_OBJS = \
bn_mp_read_radix.${OBJEXT} \
bn_mp_rshd.${OBJEXT} \
bn_mp_set.${OBJEXT} \
+ bn_mp_set_l.${OBJEXT} \
bn_mp_set_ul.${OBJEXT} \
bn_mp_shrink.${OBJEXT} \
bn_mp_sqr.${OBJEXT} \
diff --git a/win/makefile.vc b/win/makefile.vc
index 97f59ae..0751d07 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -338,10 +338,13 @@ TOMMATHOBJS = \
$(TMP_DIR)\bn_mp_grow.obj \
$(TMP_DIR)\bn_mp_init.obj \
$(TMP_DIR)\bn_mp_init_copy.obj \
+ $(TMP_DIR)\bn_mp_init_l.obj \
+ $(TMP_DIR)\bn_mp_init_ll.obj \
$(TMP_DIR)\bn_mp_init_multi.obj \
$(TMP_DIR)\bn_mp_init_set.obj \
$(TMP_DIR)\bn_mp_init_size.obj \
$(TMP_DIR)\bn_mp_init_ul.obj \
+ $(TMP_DIR)\bn_mp_init_ull.obj \
$(TMP_DIR)\bn_mp_lshd.obj \
$(TMP_DIR)\bn_mp_mod.obj \
$(TMP_DIR)\bn_mp_mod_2d.obj \
@@ -356,6 +359,7 @@ TOMMATHOBJS = \
$(TMP_DIR)\bn_mp_read_radix.obj \
$(TMP_DIR)\bn_mp_rshd.obj \
$(TMP_DIR)\bn_mp_set.obj \
+ $(TMP_DIR)\bn_mp_set_l.obj \
$(TMP_DIR)\bn_mp_set_ul.obj \
$(TMP_DIR)\bn_mp_shrink.obj \
$(TMP_DIR)\bn_mp_sqr.obj \
diff --git a/win/tclWinPort.h b/win/tclWinPort.h
index ea0aa2b..9e40afd 100644
--- a/win/tclWinPort.h
+++ b/win/tclWinPort.h
@@ -474,6 +474,7 @@ typedef DWORD_PTR * PDWORD_PTR;
* (_MSC_VER is 1200 for VC6, 1300 or 1310 for vc7.net, 1400 for 8.0)
*/
#if defined(_MSC_VER)
+# pragma warning(disable:4146)
# pragma warning(disable:4244)
# if _MSC_VER >= 1400
# pragma warning(disable:4267)