diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-03-28 22:49:59 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-03-28 22:49:59 (GMT) |
| commit | d1a1ae51945536e507e81359e7614cbe2b46b637 (patch) | |
| tree | 434e9b63f193d57379ed03e1be8b36e00007d021 | |
| parent | 388ed8fba7742f409a647c0a636e8376c587927c (diff) | |
| parent | 0817b5a4ef4f44daedf4a1c82e5f63c0641be1c3 (diff) | |
| download | tcl-d1a1ae51945536e507e81359e7614cbe2b46b637.zip tcl-d1a1ae51945536e507e81359e7614cbe2b46b637.tar.gz tcl-d1a1ae51945536e507e81359e7614cbe2b46b637.tar.bz2 | |
Merge 8.7
| -rw-r--r-- | .fossil-settings/ignore-glob | 2 | ||||
| -rw-r--r-- | doc/expr.n | 3 | ||||
| -rw-r--r-- | doc/mathop.n | 9 | ||||
| -rw-r--r-- | generic/tcl.decls | 2 | ||||
| -rw-r--r-- | generic/tclDecls.h | 7 | ||||
| -rw-r--r-- | generic/tclExecute.c | 6 | ||||
| -rw-r--r-- | generic/tclStubInit.c | 2 | ||||
| -rw-r--r-- | generic/tclTomMath.h | 17 | ||||
| -rw-r--r-- | generic/tclTomMathDecls.h | 5 | ||||
| -rw-r--r-- | generic/tclUtf.c | 4 | ||||
| -rw-r--r-- | generic/tclUtil.c | 4 | ||||
| -rw-r--r-- | library/tzdata/America/Metlakatla | 3 | ||||
| -rw-r--r-- | library/tzdata/Asia/Gaza | 52 | ||||
| -rw-r--r-- | library/tzdata/Asia/Hebron | 52 | ||||
| -rw-r--r-- | library/tzdata/Asia/Jerusalem | 4 | ||||
| -rw-r--r-- | library/tzdata/Etc/UCT | 6 | ||||
| -rw-r--r-- | library/tzdata/UCT | 6 | ||||
| -rw-r--r-- | libtommath/bn_mp_get_bit.c | 12 | ||||
| -rw-r--r-- | libtommath/bn_mp_get_int.c | 19 | ||||
| -rw-r--r-- | libtommath/tommath.h | 29 | ||||
| -rw-r--r-- | libtommath/tommath_private.h | 11 | ||||
| -rw-r--r-- | macosx/Tcl.xcode/project.pbxproj | 4 | ||||
| -rw-r--r-- | macosx/Tcl.xcodeproj/project.pbxproj | 4 | ||||
| -rw-r--r-- | tests/expr.test | 42 | ||||
| -rw-r--r-- | unix/Makefile.in | 6 | ||||
| -rw-r--r-- | win/Makefile.in | 1 | ||||
| -rw-r--r-- | win/makefile.vc | 1 |
27 files changed, 133 insertions, 180 deletions
diff --git a/.fossil-settings/ignore-glob b/.fossil-settings/ignore-glob index 9bfacde..cd6e689 100644 --- a/.fossil-settings/ignore-glob +++ b/.fossil-settings/ignore-glob @@ -26,9 +26,11 @@ libtommath/bn.ilg libtommath/bn.ind libtommath/pretty.build libtommath/tommath.src +libtommath/*.log libtommath/*.pdf libtommath/*.pl libtommath/*.sh +libtommath/doc/* libtommath/tombc/* libtommath/pre_gen/* libtommath/pics/* @@ -126,7 +126,8 @@ applied to integers. .TP 20 \fB**\fR . -Exponentiation. Valid for numeric operands. +Exponentiation. Valid for numeric operands. The maximum exponent value +that Tcl can handle if the first number is an integer > 1 is 268435455. .TP 20 \fB*\0\0/\0\0%\fR . diff --git a/doc/mathop.n b/doc/mathop.n index 4c16d76..84cf308 100644 --- a/doc/mathop.n +++ b/doc/mathop.n @@ -151,10 +151,11 @@ is the same as .QW "\fB** 2 [** 3 4]\fR" . Each \fInumber\fR may be any numeric value, though the second number must not be fractional if the -first is negative. If no arguments are given, the result will be one, and if -only one argument is given, the result will be that argument. The -result will have an integral value only when all arguments are -integral values. +first is negative. The maximum exponent value that Tcl can handle if the +first number is an integer > 1 is 268435455. If no arguments are given, +the result will be one, and if only one argument is given, the result will +be that argument. The result will have an integral value only when all +arguments are integral values. .SS "COMPARISON OPERATORS" .PP The behaviors of the comparison operator commands (most of which operate diff --git a/generic/tcl.decls b/generic/tcl.decls index ca47f11..3af01fc 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -864,7 +864,7 @@ declare 244 {nostub {Don't use this function in a stub-enabled extension}} { void Tcl_StaticPackage(Tcl_Interp *interp, const char *pkgName, Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc) } -declare 245 { +declare 245 {deprecated {No longer in use, changed to macro}} { int Tcl_StringMatch(const char *str, const char *pattern) } declare 246 {deprecated {}} { diff --git a/generic/tclDecls.h b/generic/tclDecls.h index 7a8ad87..394be56 100644 --- a/generic/tclDecls.h +++ b/generic/tclDecls.h @@ -754,7 +754,8 @@ EXTERN void Tcl_StaticPackage(Tcl_Interp *interp, Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc); /* 245 */ -EXTERN int Tcl_StringMatch(const char *str, const char *pattern); +TCL_DEPRECATED("No longer in use, changed to macro") +int Tcl_StringMatch(const char *str, const char *pattern); /* 246 */ TCL_DEPRECATED("") int Tcl_TellOld(Tcl_Channel chan); @@ -2206,7 +2207,7 @@ typedef struct TclStubs { int (*tcl_SplitList) (Tcl_Interp *interp, const char *listStr, int *argcPtr, const char ***argvPtr); /* 242 */ void (*tcl_SplitPath) (const char *path, int *argcPtr, const char ***argvPtr); /* 243 */ TCL_DEPRECATED_API("Don't use this function in a stub-enabled extension") void (*tcl_StaticPackage) (Tcl_Interp *interp, const char *pkgName, Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc); /* 244 */ - int (*tcl_StringMatch) (const char *str, const char *pattern); /* 245 */ + TCL_DEPRECATED_API("No longer in use, changed to macro") int (*tcl_StringMatch) (const char *str, const char *pattern); /* 245 */ TCL_DEPRECATED_API("") int (*tcl_TellOld) (Tcl_Channel chan); /* 246 */ TCL_DEPRECATED_API("No longer in use, changed to macro") int (*tcl_TraceVar) (Tcl_Interp *interp, const char *varName, int flags, Tcl_VarTraceProc *proc, ClientData clientData); /* 247 */ int (*tcl_TraceVar2) (Tcl_Interp *interp, const char *part1, const char *part2, int flags, Tcl_VarTraceProc *proc, ClientData clientData); /* 248 */ @@ -4136,6 +4137,8 @@ extern const TclStubs *tclStubsPtr; #define Tcl_GetUnicode(objPtr) Tcl_GetUnicodeFromObj((objPtr), NULL) #undef Tcl_BackgroundError #define Tcl_BackgroundError(interp) Tcl_BackgroundException((interp), TCL_ERROR) +#undef Tcl_StringMatch +#define Tcl_StringMatch(str, pattern) Tcl_StringCaseMatch((str), (pattern), 0) #if TCL_UTF_MAX == 3 # undef Tcl_GetUnicodeFromObj diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 903e8d7..680bdd0 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -8400,7 +8400,11 @@ ExecuteExtendedBinaryMathOp( overflowExpon: Tcl_TakeBignumFromObj(NULL, value2Ptr, &big2); - if (big2.used > 1) { + if ((big2.used > 1) +#if DIGIT_BIT > 28 + || ((big2.used == 1) && (big2.dp[0] >= (1<<28))) +#endif + ) { mp_clear(&big2); Tcl_SetObjResult(interp, Tcl_NewStringObj( "exponent too large", -1)); diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 34619c2..4fc79e4 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -468,6 +468,8 @@ static int utf16Ncasecmp(const unsigned short *ucs, const unsigned short *uct, u # define Tcl_SetPanicProc 0 # define Tcl_FindExecutable 0 # define TclOldFreeObj 0 +# undef Tcl_StringMatch +# define Tcl_StringMatch 0 # define TclBN_reverse 0 # define TclBN_fast_s_mp_mul_digs 0 # define TclBN_fast_s_mp_sqr 0 diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h index fbf0d35..3f23fd6 100644 --- a/generic/tclTomMath.h +++ b/generic/tclTomMath.h @@ -25,7 +25,7 @@ extern "C" { #endif /* MS Visual C++ doesn't have a 128bit type for words, so fall back to 32bit MPI's (where words are 64bit) */ -#if defined(_MSC_VER) || defined(__LLP64__) || defined(__e2k__) || defined(__LCC__) +#if defined(_WIN32) || defined(__LLP64__) || defined(__e2k__) || defined(__LCC__) # define MP_32BIT #endif @@ -110,9 +110,6 @@ typedef unsigned long long mp_word; /* otherwise the bits per digit is calculated automatically from the size of a mp_digit */ #ifndef DIGIT_BIT # define DIGIT_BIT (((CHAR_BIT * MP_SIZEOF_MP_DIGIT) - 1)) /* bits per digit */ -typedef unsigned long mp_min_u32; -#else -typedef mp_digit mp_min_u32; #endif #define MP_DIGIT_BIT DIGIT_BIT @@ -142,14 +139,6 @@ typedef mp_digit mp_min_u32; typedef int mp_err; -/* you'll have to tune these... */ -#if defined(BUILD_tcl) || !defined(_WIN32) -MODULE_SCOPE int KARATSUBA_MUL_CUTOFF, - KARATSUBA_SQR_CUTOFF, - TOOM_MUL_CUTOFF, - TOOM_SQR_CUTOFF; -#endif - /* define this to use lower memory usage routines (exptmods mostly) */ /* #define MP_LOW_MEM */ @@ -229,8 +218,8 @@ int mp_init_size(mp_int *a, int size); /* ---> Basic Manipulations <--- */ #define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO) -#define mp_iseven(a) ((((a)->used == 0) || (((a)->dp[0] & 1u) == 0u)) ? MP_YES : MP_NO) -#define mp_isodd(a) ((((a)->used > 0) && (((a)->dp[0] & 1u) == 1u)) ? MP_YES : MP_NO) +#define mp_iseven(a) (!mp_get_bit((a),0)) +#define mp_isodd(a) mp_get_bit((a),0) #define mp_isneg(a) (((a)->sign != MP_ZPOS) ? MP_YES : MP_NO) /* set to zero */ diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h index cb99df7..52ab26f 100644 --- a/generic/tclTomMathDecls.h +++ b/generic/tclTomMathDecls.h @@ -39,11 +39,6 @@ /* Rename the global symbols in libtommath to avoid linkage conflicts */ -#define KARATSUBA_MUL_CUTOFF TclBNKaratsubaMulCutoff -#define KARATSUBA_SQR_CUTOFF TclBNKaratsubaSqrCutoff -#define TOOM_MUL_CUTOFF TclBNToomMulCutoff -#define TOOM_SQR_CUTOFF TclBNToomSqrCutoff - #define bn_reverse TclBN_reverse #define fast_s_mp_mul_digs TclBN_fast_s_mp_mul_digs #define fast_s_mp_sqr TclBN_fast_s_mp_sqr diff --git a/generic/tclUtf.c b/generic/tclUtf.c index c446a80..56b715f 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -67,9 +67,7 @@ static const unsigned char totalBytes[256] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 4,4,4,4,4,4,4,4, - 1,1,1,1,1,1,1,1 + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1 }; /* diff --git a/generic/tclUtil.c b/generic/tclUtil.c index e432560..f4b1ab1 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -2186,6 +2186,7 @@ Tcl_ConcatObj( return resPtr; } +#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9 /* *---------------------------------------------------------------------- * @@ -2204,6 +2205,7 @@ Tcl_ConcatObj( *---------------------------------------------------------------------- */ +#undef Tcl_StringMatch int Tcl_StringMatch( const char *str, /* String. */ @@ -2212,7 +2214,7 @@ Tcl_StringMatch( { return Tcl_StringCaseMatch(str, pattern, 0); } - +#endif /* TCL_NO_DEPRECATED */ /* *---------------------------------------------------------------------- * diff --git a/library/tzdata/America/Metlakatla b/library/tzdata/America/Metlakatla index 3636725..a0385d0 100644 --- a/library/tzdata/America/Metlakatla +++ b/library/tzdata/America/Metlakatla @@ -47,7 +47,8 @@ set TZData(:America/Metlakatla) { {1509876000 -32400 0 AKST} {1520766000 -28800 1 AKDT} {1541329200 -28800 0 PST} - {1552215600 -28800 0 AKDT} + {1547978400 -32400 0 AKST} + {1552215600 -28800 1 AKDT} {1572775200 -32400 0 AKST} {1583665200 -28800 1 AKDT} {1604224800 -32400 0 AKST} diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza index 85b9f67..6d0f144 100644 --- a/library/tzdata/Asia/Gaza +++ b/library/tzdata/Asia/Gaza @@ -40,6 +40,10 @@ set TZData(:Asia/Gaza) { {150843600 7200 0 IST} {167176800 10800 1 IDT} {178664400 7200 0 IST} + {334015200 10800 1 IDT} + {337644000 7200 0 IST} + {452556000 10800 1 IDT} + {462232800 7200 0 IST} {482277600 10800 1 IDT} {495579600 7200 0 IST} {516751200 10800 1 IDT} @@ -113,7 +117,7 @@ set TZData(:Asia/Gaza) { {1509141600 7200 0 EET} {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553295600 10800 1 EEST} + {1553900400 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -123,9 +127,9 @@ set TZData(:Asia/Gaza) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711148400 10800 1 EEST} + {1711753200 10800 1 EEST} {1729893600 7200 0 EET} - {1742598000 10800 1 EEST} + {1743202800 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -135,9 +139,9 @@ set TZData(:Asia/Gaza) { {1856296800 7200 0 EET} {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1900450800 10800 1 EEST} + {1901055600 10800 1 EEST} {1919196000 7200 0 EET} - {1931900400 10800 1 EEST} + {1932505200 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -147,7 +151,7 @@ set TZData(:Asia/Gaza) { {2045599200 7200 0 EET} {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2089753200 10800 1 EEST} + {2090358000 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -157,9 +161,9 @@ set TZData(:Asia/Gaza) { {2203452000 7200 0 EET} {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2247606000 10800 1 EEST} + {2248210800 10800 1 EEST} {2266351200 7200 0 EET} - {2279055600 10800 1 EEST} + {2279660400 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -169,7 +173,7 @@ set TZData(:Asia/Gaza) { {2392754400 7200 0 EET} {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2436908400 10800 1 EEST} + {2437513200 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -179,9 +183,9 @@ set TZData(:Asia/Gaza) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2594761200 10800 1 EEST} + {2595366000 10800 1 EEST} {2613506400 7200 0 EET} - {2626210800 10800 1 EEST} + {2626815600 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -191,9 +195,9 @@ set TZData(:Asia/Gaza) { {2739909600 7200 0 EET} {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784063600 10800 1 EEST} + {2784668400 10800 1 EEST} {2802808800 7200 0 EET} - {2815513200 10800 1 EEST} + {2816118000 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -203,7 +207,7 @@ set TZData(:Asia/Gaza) { {2929212000 7200 0 EET} {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973366000 10800 1 EEST} + {2973970800 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -213,9 +217,9 @@ set TZData(:Asia/Gaza) { {3087064800 7200 0 EET} {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131218800 10800 1 EEST} + {3131823600 10800 1 EEST} {3149964000 7200 0 EET} - {3162668400 10800 1 EEST} + {3163273200 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -225,7 +229,7 @@ set TZData(:Asia/Gaza) { {3276367200 7200 0 EET} {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3320521200 10800 1 EEST} + {3321126000 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -235,9 +239,9 @@ set TZData(:Asia/Gaza) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478374000 10800 1 EEST} + {3478978800 10800 1 EEST} {3497119200 7200 0 EET} - {3509823600 10800 1 EEST} + {3510428400 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -247,9 +251,9 @@ set TZData(:Asia/Gaza) { {3623522400 7200 0 EET} {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3667676400 10800 1 EEST} + {3668281200 10800 1 EEST} {3686421600 7200 0 EET} - {3699126000 10800 1 EEST} + {3699730800 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -259,7 +263,7 @@ set TZData(:Asia/Gaza) { {3812824800 7200 0 EET} {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3856978800 10800 1 EEST} + {3857583600 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -269,9 +273,9 @@ set TZData(:Asia/Gaza) { {3970677600 7200 0 EET} {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4014831600 10800 1 EEST} + {4015436400 10800 1 EEST} {4033576800 7200 0 EET} - {4046281200 10800 1 EEST} + {4046886000 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/library/tzdata/Asia/Hebron b/library/tzdata/Asia/Hebron index c0f5447..9249910 100644 --- a/library/tzdata/Asia/Hebron +++ b/library/tzdata/Asia/Hebron @@ -40,6 +40,10 @@ set TZData(:Asia/Hebron) { {150843600 7200 0 IST} {167176800 10800 1 IDT} {178664400 7200 0 IST} + {334015200 10800 1 IDT} + {337644000 7200 0 IST} + {452556000 10800 1 IDT} + {462232800 7200 0 IST} {482277600 10800 1 IDT} {495579600 7200 0 IST} {516751200 10800 1 IDT} @@ -112,7 +116,7 @@ set TZData(:Asia/Hebron) { {1509141600 7200 0 EET} {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553295600 10800 1 EEST} + {1553900400 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -122,9 +126,9 @@ set TZData(:Asia/Hebron) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711148400 10800 1 EEST} + {1711753200 10800 1 EEST} {1729893600 7200 0 EET} - {1742598000 10800 1 EEST} + {1743202800 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -134,9 +138,9 @@ set TZData(:Asia/Hebron) { {1856296800 7200 0 EET} {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1900450800 10800 1 EEST} + {1901055600 10800 1 EEST} {1919196000 7200 0 EET} - {1931900400 10800 1 EEST} + {1932505200 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -146,7 +150,7 @@ set TZData(:Asia/Hebron) { {2045599200 7200 0 EET} {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2089753200 10800 1 EEST} + {2090358000 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -156,9 +160,9 @@ set TZData(:Asia/Hebron) { {2203452000 7200 0 EET} {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2247606000 10800 1 EEST} + {2248210800 10800 1 EEST} {2266351200 7200 0 EET} - {2279055600 10800 1 EEST} + {2279660400 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -168,7 +172,7 @@ set TZData(:Asia/Hebron) { {2392754400 7200 0 EET} {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2436908400 10800 1 EEST} + {2437513200 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -178,9 +182,9 @@ set TZData(:Asia/Hebron) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2594761200 10800 1 EEST} + {2595366000 10800 1 EEST} {2613506400 7200 0 EET} - {2626210800 10800 1 EEST} + {2626815600 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -190,9 +194,9 @@ set TZData(:Asia/Hebron) { {2739909600 7200 0 EET} {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784063600 10800 1 EEST} + {2784668400 10800 1 EEST} {2802808800 7200 0 EET} - {2815513200 10800 1 EEST} + {2816118000 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -202,7 +206,7 @@ set TZData(:Asia/Hebron) { {2929212000 7200 0 EET} {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973366000 10800 1 EEST} + {2973970800 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -212,9 +216,9 @@ set TZData(:Asia/Hebron) { {3087064800 7200 0 EET} {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131218800 10800 1 EEST} + {3131823600 10800 1 EEST} {3149964000 7200 0 EET} - {3162668400 10800 1 EEST} + {3163273200 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -224,7 +228,7 @@ set TZData(:Asia/Hebron) { {3276367200 7200 0 EET} {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3320521200 10800 1 EEST} + {3321126000 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -234,9 +238,9 @@ set TZData(:Asia/Hebron) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478374000 10800 1 EEST} + {3478978800 10800 1 EEST} {3497119200 7200 0 EET} - {3509823600 10800 1 EEST} + {3510428400 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -246,9 +250,9 @@ set TZData(:Asia/Hebron) { {3623522400 7200 0 EET} {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3667676400 10800 1 EEST} + {3668281200 10800 1 EEST} {3686421600 7200 0 EET} - {3699126000 10800 1 EEST} + {3699730800 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -258,7 +262,7 @@ set TZData(:Asia/Hebron) { {3812824800 7200 0 EET} {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3856978800 10800 1 EEST} + {3857583600 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -268,9 +272,9 @@ set TZData(:Asia/Hebron) { {3970677600 7200 0 EET} {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4014831600 10800 1 EEST} + {4015436400 10800 1 EEST} {4033576800 7200 0 EET} - {4046281200 10800 1 EEST} + {4046886000 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/library/tzdata/Asia/Jerusalem b/library/tzdata/Asia/Jerusalem index 2714963..e1e84f4 100644 --- a/library/tzdata/Asia/Jerusalem +++ b/library/tzdata/Asia/Jerusalem @@ -39,6 +39,10 @@ set TZData(:Asia/Jerusalem) { {150843600 7200 0 IST} {167176800 10800 1 IDT} {178664400 7200 0 IST} + {334015200 10800 1 IDT} + {337644000 7200 0 IST} + {452556000 10800 1 IDT} + {462232800 7200 0 IST} {482277600 10800 1 IDT} {495579600 7200 0 IST} {516751200 10800 1 IDT} diff --git a/library/tzdata/Etc/UCT b/library/tzdata/Etc/UCT index f7d795e..c843cdc 100644 --- a/library/tzdata/Etc/UCT +++ b/library/tzdata/Etc/UCT @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit - -set TZData(:Etc/UCT) { - {-9223372036854775808 0 0 UCT} +if {![info exists TZData(Etc/UTC)]} { + LoadTimeZoneFile Etc/UTC } +set TZData(:Etc/UCT) $TZData(:Etc/UTC) diff --git a/library/tzdata/UCT b/library/tzdata/UCT index 8449328..acfa48e 100644 --- a/library/tzdata/UCT +++ b/library/tzdata/UCT @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Etc/UCT)]} { - LoadTimeZoneFile Etc/UCT +if {![info exists TZData(Etc/UTC)]} { + LoadTimeZoneFile Etc/UTC } -set TZData(:UCT) $TZData(:Etc/UCT) +set TZData(:UCT) $TZData(:Etc/UTC) diff --git a/libtommath/bn_mp_get_bit.c b/libtommath/bn_mp_get_bit.c index ab732c4..f5d2450 100644 --- a/libtommath/bn_mp_get_bit.c +++ b/libtommath/bn_mp_get_bit.c @@ -27,18 +27,8 @@ int mp_get_bit(const mp_int *a, int b) limb = b / DIGIT_BIT; - /* - * Zero is a special value with the member "used" set to zero. - * Needs to be tested before the check for the upper boundary - * otherwise (limb >= a->used) would be true for a = 0 - */ - - if (mp_iszero(a) != MP_NO) { - return MP_NO; - } - if (limb >= a->used) { - return MP_VAL; + return MP_NO; } bit = (mp_digit)(1) << (b % DIGIT_BIT); diff --git a/libtommath/bn_mp_get_int.c b/libtommath/bn_mp_get_int.c index 13eddbf..d9c7a11 100644 --- a/libtommath/bn_mp_get_int.c +++ b/libtommath/bn_mp_get_int.c @@ -15,25 +15,8 @@ /* get the lower 32-bits of an mp_int */ unsigned long mp_get_int(const mp_int *a) { - int i; - mp_min_u32 res; - - if (a->used == 0) { - return 0; - } - - /* get number of digits of the lsb we have to read */ - i = MIN(a->used, ((((int)sizeof(unsigned long) * CHAR_BIT) + DIGIT_BIT - 1) / DIGIT_BIT)) - 1; - - /* get most significant digit of result */ - res = DIGIT(a, i); - - while (--i >= 0) { - res = (res << DIGIT_BIT) | DIGIT(a, i); - } - /* force result to 32-bits always so it is consistent on non 32-bit platforms */ - return res & 0xFFFFFFFFUL; + return mp_get_long(a) & 0xFFFFFFFFUL; } #endif diff --git a/libtommath/tommath.h b/libtommath/tommath.h index ce38975..b5faf8c 100644 --- a/libtommath/tommath.h +++ b/libtommath/tommath.h @@ -23,7 +23,7 @@ extern "C" { #endif /* MS Visual C++ doesn't have a 128bit type for words, so fall back to 32bit MPI's (where words are 64bit) */ -#if defined(_MSC_VER) || defined(__LLP64__) || defined(__e2k__) || defined(__LCC__) +#if defined(_WIN32) || defined(__LLP64__) || defined(__e2k__) || defined(__LCC__) # define MP_32BIT #endif @@ -91,17 +91,7 @@ typedef unsigned long long mp_word; # endif #endif -/* otherwise the bits per digit is calculated automatically from the size of a mp_digit */ -#ifndef DIGIT_BIT -# define DIGIT_BIT (((CHAR_BIT * MP_SIZEOF_MP_DIGIT) - 1)) /* bits per digit */ -typedef unsigned long mp_min_u32; -#else -typedef mp_digit mp_min_u32; -#endif - -#define MP_DIGIT_BIT DIGIT_BIT #define MP_MASK ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1)) -#define MP_DIGIT_MAX MP_MASK /* equalities */ #define MP_LT -1 /* less than */ @@ -127,12 +117,6 @@ typedef mp_digit mp_min_u32; typedef int mp_err; -/* you'll have to tune these... */ -extern int KARATSUBA_MUL_CUTOFF, - KARATSUBA_SQR_CUTOFF, - TOOM_MUL_CUTOFF, - TOOM_SQR_CUTOFF; - /* define this to use lower memory usage routines (exptmods mostly) */ /* #define MP_LOW_MEM */ @@ -145,9 +129,6 @@ extern int KARATSUBA_MUL_CUTOFF, # endif #endif -/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */ -#define MP_WARRAY (1u << (((sizeof(mp_word) * CHAR_BIT) - (2 * DIGIT_BIT)) + 1)) - /* the infamous mp_int structure */ typedef struct { int used, alloc, sign; @@ -158,10 +139,6 @@ typedef struct { typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat); -#define USED(m) ((m)->used) -#define DIGIT(m, k) ((m)->dp[(k)]) -#define SIGN(m) ((m)->sign) - /* error code to char* string */ const char *mp_error_to_string(int code); @@ -192,8 +169,8 @@ int mp_init_size(mp_int *a, int size); /* ---> Basic Manipulations <--- */ #define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO) -#define mp_iseven(a) ((((a)->used == 0) || (((a)->dp[0] & 1u) == 0u)) ? MP_YES : MP_NO) -#define mp_isodd(a) ((((a)->used > 0) && (((a)->dp[0] & 1u) == 1u)) ? MP_YES : MP_NO) +#define mp_iseven(a) (!mp_get_bit((a),0)) +#define mp_isodd(a) mp_get_bit((a),0) #define mp_isneg(a) (((a)->sign != MP_ZPOS) ? MP_YES : MP_NO) /* set to zero */ diff --git a/libtommath/tommath_private.h b/libtommath/tommath_private.h index 8fc3442..2096f77 100644 --- a/libtommath/tommath_private.h +++ b/libtommath/tommath_private.h @@ -42,15 +42,22 @@ extern "C" { # define XMALLOC malloc # define XFREE free # define XREALLOC realloc -# define XCALLOC calloc #elif 0 /* prototypes for our heap functions */ extern void *XMALLOC(size_t n); extern void *XREALLOC(void *p, size_t n); -extern void *XCALLOC(size_t n, size_t s); extern void XFREE(void *p); #endif +/* you'll have to tune these... */ +#define KARATSUBA_MUL_CUTOFF 80 /* Min. number of digits before Karatsuba multiplication is used. */ +#define KARATSUBA_SQR_CUTOFF 120 /* Min. number of digits before Karatsuba squaring is used. */ +#define TOOM_MUL_CUTOFF 350 /* no optimal values of these are known yet so set em high */ +#define TOOM_SQR_CUTOFF 400 + +/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */ +#define MP_WARRAY (1u << (((sizeof(mp_word) * CHAR_BIT) - (2 * DIGIT_BIT)) + 1)) + /* lowlevel functions, do not call! */ int s_mp_add(const mp_int *a, const mp_int *b, mp_int *c); int s_mp_sub(const mp_int *a, const mp_int *b, mp_int *c); diff --git a/macosx/Tcl.xcode/project.pbxproj b/macosx/Tcl.xcode/project.pbxproj index 51e9c68..5fb9a47 100644 --- a/macosx/Tcl.xcode/project.pbxproj +++ b/macosx/Tcl.xcode/project.pbxproj @@ -145,7 +145,6 @@ F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; }; F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; }; F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; }; - F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; }; F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; }; F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; }; F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; }; @@ -620,7 +619,6 @@ F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; }; F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; }; F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; }; - F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; }; F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; }; F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; }; F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; }; @@ -1482,7 +1480,6 @@ F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */, F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */, F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */, - F96D42D708F272B3004A47F5 /* bncore.c */, F96D432908F272B4004A47F5 /* tommath_class.h */, F96D432A08F272B4004A47F5 /* tommath_superclass.h */, ); @@ -2114,7 +2111,6 @@ F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */, F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */, F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */, - F96D495508F272C3004A47F5 /* bncore.c in Sources */, F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */, F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */, F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */, diff --git a/macosx/Tcl.xcodeproj/project.pbxproj b/macosx/Tcl.xcodeproj/project.pbxproj index cef23e3..408af36 100644 --- a/macosx/Tcl.xcodeproj/project.pbxproj +++ b/macosx/Tcl.xcodeproj/project.pbxproj @@ -145,7 +145,6 @@ F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; }; F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; }; F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; }; - F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; }; F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; }; F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; }; F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; }; @@ -621,7 +620,6 @@ F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; }; F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; }; F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; }; - F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; }; F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; }; F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; }; F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; }; @@ -1483,7 +1481,6 @@ F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */, F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */, F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */, - F96D42D708F272B3004A47F5 /* bncore.c */, F96D432908F272B4004A47F5 /* tommath_class.h */, F96D432A08F272B4004A47F5 /* tommath_superclass.h */, ); @@ -2115,7 +2112,6 @@ F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */, F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */, F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */, - F96D495508F272C3004A47F5 /* bncore.c in Sources */, F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */, F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */, F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */, diff --git a/tests/expr.test b/tests/expr.test index 7136afc..cb0c24d 100644 --- a/tests/expr.test +++ b/tests/expr.test @@ -1107,7 +1107,7 @@ test expr-23.54.11 {INST_EXPON: Bug 2798543} { expr {3**9 == 3**131081} } 0 test expr-23.54.12 {INST_EXPON: Bug 2798543} -body { - expr {3**9 == 3**268435465} + expr {3**268435456} } -returnCodes error -result {exponent too large} test expr-23.54.13 {INST_EXPON: Bug 2798543} { expr {(-3)**9 == (-3)**65545} @@ -1122,7 +1122,7 @@ test expr-23.55.2 {INST_EXPON: Bug 2798543} { expr {4**9 == 4**131081} } 0 test expr-23.55.3 {INST_EXPON: Bug 2798543} -body { - expr {4**9 == 4**268435465} + expr {4**268435456} } -returnCodes error -result {exponent too large} test expr-23.55.4 {INST_EXPON: Bug 2798543} { expr {(-4)**9 == (-4)**65545} @@ -1137,7 +1137,7 @@ test expr-23.56.2 {INST_EXPON: Bug 2798543} { expr {5**9 == 5**131081} } 0 test expr-23.56.3 {INST_EXPON: Bug 2798543} -body { - expr {5**9 == 5**268435465} + expr {5**268435456} } -returnCodes error -result {exponent too large} test expr-23.56.4 {INST_EXPON: Bug 2798543} { expr {(-5)**9 == (-5)**65545} @@ -1152,7 +1152,7 @@ test expr-23.57.2 {INST_EXPON: Bug 2798543} { expr {6**9 == 6**131081} } 0 test expr-23.57.3 {INST_EXPON: Bug 2798543} -body { - expr {6**9 == 6**268435465} + expr {6**268435456} } -returnCodes error -result {exponent too large} test expr-23.57.4 {INST_EXPON: Bug 2798543} { expr {(-6)**9 == (-6)**65545} @@ -1167,7 +1167,7 @@ test expr-23.58.2 {INST_EXPON: Bug 2798543} { expr {7**9 == 7**131081} } 0 test expr-23.58.3 {INST_EXPON: Bug 2798543} -body { - expr {7**9 == 7**268435465} + expr {7**268435456} } -returnCodes error -result {exponent too large} test expr-23.58.4 {INST_EXPON: Bug 2798543} { expr {(-7)**9 == (-7)**65545} @@ -1182,7 +1182,7 @@ test expr-23.59.2 {INST_EXPON: Bug 2798543} { expr {8**9 == 8**131081} } 0 test expr-23.59.3 {INST_EXPON: Bug 2798543} -body { - expr {8**9 == 8**268435465} + expr {8**268435456} } -returnCodes error -result {exponent too large} test expr-23.59.4 {INST_EXPON: Bug 2798543} { expr {(-8)**9 == (-8)**65545} @@ -1194,7 +1194,7 @@ test expr-23.60.1 {INST_EXPON: Bug 2798543} { expr {9**9 == 9**131081} } 0 test expr-23.60.2 {INST_EXPON: Bug 2798543} -body { - expr {9**9 == 9**268435465} + expr {9**268435456} } -returnCodes error -result {exponent too large} test expr-23.60.3 {INST_EXPON: Bug 2798543} { expr {(-9)**9 == (-9)**65545} @@ -1206,7 +1206,7 @@ test expr-23.61.1 {INST_EXPON: Bug 2798543} { expr {10**9 == 10**131081} } 0 test expr-23.61.2 {INST_EXPON: Bug 2798543} -body { - expr {10**9 == 10**268435465} + expr {10**268435456} } -returnCodes error -result {exponent too large} test expr-23.61.3 {INST_EXPON: Bug 2798543} { expr {(-10)**9 == (-10)**65545} @@ -1218,7 +1218,7 @@ test expr-23.62.1 {INST_EXPON: Bug 2798543} { expr {11**9 == 11**131081} } 0 test expr-23.62.2 {INST_EXPON: Bug 2798543} -body { - expr {11**9 == 11**268435465} + expr {11**268435456} } -returnCodes error -result {exponent too large} test expr-23.62.3 {INST_EXPON: Bug 2798543} { expr {(-11)**9 == (-11)**65545} @@ -1233,7 +1233,7 @@ test expr-23.63.2 {INST_EXPON: Bug 2798543} { expr {3**20 == 3**131092} } 0 test expr-23.63.3 {INST_EXPON: Bug 2798543} -body { - expr {3**20 == 3**268435476} + expr {3**268435456} } -returnCodes error -result {exponent too large} test expr-23.63.4 {INST_EXPON: Bug 2798543} { expr {(-3)**20 == (-3)**65556} @@ -1248,7 +1248,7 @@ test expr-23.64.2 {INST_EXPON: Bug 2798543} { expr {4**17 == 4**131089} } 0 test expr-23.64.3 {INST_EXPON: Bug 2798543} -body { - expr {4**17 == 4**268435473} + expr {4**268435456} } -returnCodes error -result {exponent too large} test expr-23.64.4 {INST_EXPON: Bug 2798543} { expr {(-4)**17 == (-4)**65553} @@ -1263,7 +1263,7 @@ test expr-23.65.2 {INST_EXPON: Bug 2798543} { expr {5**17 == 5**131089} } 0 test expr-23.65.3 {INST_EXPON: Bug 2798543} -body { - expr {5**17 == 5**268435473} + expr {5**268435456} } -returnCodes error -result {exponent too large} test expr-23.65.4 {INST_EXPON: Bug 2798543} { expr {(-5)**17 == (-5)**65553} @@ -1278,7 +1278,7 @@ test expr-23.66.2 {INST_EXPON: Bug 2798543} { expr {6**17 == 6**131089} } 0 test expr-23.66.3 {INST_EXPON: Bug 2798543} -body { - expr {6**17 == 6**268435473} + expr {6**268435456} } -returnCodes error -result {exponent too large} test expr-23.66.4 {INST_EXPON: Bug 2798543} { expr {(-6)**17 == (-6)**65553} @@ -1293,7 +1293,7 @@ test expr-23.67.2 {INST_EXPON: Bug 2798543} { expr {7**17 == 7**131089} } 0 test expr-23.67.3 {INST_EXPON: Bug 2798543} -body { - expr {7**17 == 7**268435473} + expr {7**268435456} } -returnCodes error -result {exponent too large} test expr-23.67.4 {INST_EXPON: Bug 2798543} { expr {(-7)**17 == (-7)**65553} @@ -1308,7 +1308,7 @@ test expr-23.68.2 {INST_EXPON: Bug 2798543} { expr {8**17 == 8**131089} } 0 test expr-23.68.3 {INST_EXPON: Bug 2798543} -body { - expr {8**17 == 8**268435473} + expr {8**268435456} } -returnCodes error -result {exponent too large} test expr-23.68.4 {INST_EXPON: Bug 2798543} { expr {(-8)**17 == (-8)**65553} @@ -1323,7 +1323,7 @@ test expr-23.69.2 {INST_EXPON: Bug 2798543} { expr {9**17 == 9**131089} } 0 test expr-23.69.3 {INST_EXPON: Bug 2798543} -body { - expr {9**17 == 9**268435473} + expr {9**268435456} } -returnCodes error -result {exponent too large} test expr-23.69.4 {INST_EXPON: Bug 2798543} { expr {(-9)**17 == (-9)**65553} @@ -1338,7 +1338,7 @@ test expr-23.70.2 {INST_EXPON: Bug 2798543} { expr {10**17 == 10**131089} } 0 test expr-23.70.3 {INST_EXPON: Bug 2798543} -body { - expr {10**17 == 10**268435473} + expr {10**268435456} } -returnCodes error -result {exponent too large} test expr-23.70.4 {INST_EXPON: Bug 2798543} { expr {(-10)**17 == (-10)**65553} @@ -1353,7 +1353,7 @@ test expr-23.71.2 {INST_EXPON: Bug 2798543} { expr {11**17 == 11**131089} } 0 test expr-23.71.3 {INST_EXPON: Bug 2798543} -body { - expr {11**17 == 11**268435473} + expr {11**268435456} } -returnCodes error -result {exponent too large} test expr-23.71.4 {INST_EXPON: Bug 2798543} { expr {(-11)**17 == (-11)**65553} @@ -1365,7 +1365,7 @@ test expr-23.72.1 {INST_EXPON: Bug 2798543} { expr {12**17 == 12**131089} } 0 test expr-23.72.2 {INST_EXPON: Bug 2798543} -body { - expr {12**17 == 12**268435473} + expr {12**268435456} } -returnCodes error -result {exponent too large} test expr-23.72.3 {INST_EXPON: Bug 2798543} { expr {(-12)**17 == (-12)**65553} @@ -1377,7 +1377,7 @@ test expr-23.73.1 {INST_EXPON: Bug 2798543} { expr {13**17 == 13**131089} } 0 test expr-23.73.2 {INST_EXPON: Bug 2798543} -body { - expr {13**17 == 13**268435473} + expr {13**268435456} } -returnCodes error -result {exponent too large} test expr-23.73.3 {INST_EXPON: Bug 2798543} { expr {(-13)**17 == (-13)**65553} @@ -1389,7 +1389,7 @@ test expr-23.74.1 {INST_EXPON: Bug 2798543} { expr {14**17 == 14**131089} } 0 test expr-23.74.2 {INST_EXPON: Bug 2798543} -body { - expr {14**17 == 14**268435473} + expr {14**268435456} } -returnCodes error -result {exponent too large} test expr-23.74.3 {INST_EXPON: Bug 2798543} { expr {(-14)**17 == (-14)**65553} diff --git a/unix/Makefile.in b/unix/Makefile.in index b9268b9..74bee41 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -319,7 +319,7 @@ GENERIC_OBJS = regcomp.o regexec.o regfree.o regerror.o tclAlloc.o \ OO_OBJS = tclOO.o tclOOBasic.o tclOOCall.o tclOODefineCmds.o tclOOInfo.o \ tclOOMethod.o tclOOStubInit.o -TOMMATH_OBJS = bncore.o bn_reverse.o bn_fast_s_mp_mul_digs.o \ +TOMMATH_OBJS = bn_reverse.o bn_fast_s_mp_mul_digs.o \ bn_fast_s_mp_sqr.o bn_mp_add.o bn_mp_and.o \ bn_mp_add_d.o bn_mp_clamp.o bn_mp_clear.o bn_mp_clear_multi.o \ bn_mp_cmp.o bn_mp_cmp_d.o bn_mp_cmp_mag.o \ @@ -490,7 +490,6 @@ STUB_SRCS = \ $(GENERIC_DIR)/tclOOStubLib.c TOMMATH_SRCS = \ - $(TOMMATH_DIR)/bncore.c \ $(TOMMATH_DIR)/bn_reverse.c \ $(TOMMATH_DIR)/bn_fast_s_mp_mul_digs.c \ $(TOMMATH_DIR)/bn_fast_s_mp_sqr.c \ @@ -1460,9 +1459,6 @@ tclThreadTest.o: $(GENERIC_DIR)/tclThreadTest.c tclTomMathInterface.o: $(GENERIC_DIR)/tclTomMathInterface.c $(MATHHDRS) $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclTomMathInterface.c -bncore.o: $(TOMMATH_DIR)/bncore.c $(MATHHDRS) - $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bncore.c - bn_reverse.o: $(TOMMATH_DIR)/bn_reverse.c $(MATHHDRS) $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_reverse.c diff --git a/win/Makefile.in b/win/Makefile.in index e354c4e..faf4b77 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -360,7 +360,6 @@ GENERIC_OBJS = \ tclZlib.$(OBJEXT) TOMMATH_OBJS = \ - bncore.${OBJEXT} \ bn_reverse.${OBJEXT} \ bn_fast_s_mp_mul_digs.${OBJEXT} \ bn_fast_s_mp_sqr.${OBJEXT} \ diff --git a/win/makefile.vc b/win/makefile.vc index c8340d5..e159538 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -252,7 +252,6 @@ ZLIBOBJS = \ $(TMP_DIR)\zutil.obj
TOMMATHOBJS = \
- $(TMP_DIR)\bncore.obj \
$(TMP_DIR)\bn_reverse.obj \
$(TMP_DIR)\bn_fast_s_mp_mul_digs.obj \
$(TMP_DIR)\bn_fast_s_mp_sqr.obj \
|
