diff options
author | andreas_kupries <andreas_kupries@noemail.net> | 2010-11-30 20:59:27 (GMT) |
---|---|---|
committer | andreas_kupries <andreas_kupries@noemail.net> | 2010-11-30 20:59:27 (GMT) |
commit | 80c48dec26fcf255d9b1ad6140911b40f71726e2 (patch) | |
tree | 1690548d2a2cd82215101f59ba6632c4b01cc523 /generic/tclIntDecls.h | |
parent | 9fef6968a9971c094e0945448a9589f4e796e938 (diff) | |
download | tcl-80c48dec26fcf255d9b1ad6140911b40f71726e2.zip tcl-80c48dec26fcf255d9b1ad6140911b40f71726e2.tar.gz tcl-80c48dec26fcf255d9b1ad6140911b40f71726e2.tar.bz2 |
* generic/tclInt.decls: Backport of Kevin B. Kenny's work on
* generic/tclInt.h: the Tcl Head, with help from Jeff Hobbs.
* generic/tclStrToD.c:
* generic/tclTest.c:
* generic/tclTomMath.decls:
* generic/tclUtil.c:
* tests/util.test:
* unix/Makefile.in:
* win/Makefile.in:
* win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits
that (a) fixes a severe performance problem with floating point
shimmering reported by Karl Lehenbauer, (b) allows TclDoubleDigits
to generate the digit strings for 'e' and 'f' format, so that it
can be used for tcl_precision != 0 (and possibly later for [format]),
(c) fixes [Bug 3120139] by making TclPrintDouble inherently
locale-independent, (d) adds test cases to util.test for
correct rounding in difficult cases of TclDoubleDigits where fixed-
precision results are requested. (e) adds test cases to util.test for
the controversial aspects of [Bug 3105247]. As a side effect, two
more modules from libtommath (bn_mp_set_int.c and bn_mp_init_set_int.c)
are brought into the build, since the new code uses them.
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
* generic/tclTomMathDecls.h: Regenerated.
FossilOrigin-Name: 769801ace1040dc40a1bcbc3f02ea15b8258c8fb
Diffstat (limited to 'generic/tclIntDecls.h')
-rw-r--r-- | generic/tclIntDecls.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h index a7d2fd9..7d34296 100644 --- a/generic/tclIntDecls.h +++ b/generic/tclIntDecls.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIntDecls.h,v 1.112.2.5 2010/11/30 18:16:02 hobbs Exp $ + * RCS: @(#) $Id: tclIntDecls.h,v 1.112.2.6 2010/11/30 20:59:27 andreas_kupries Exp $ */ #ifndef _TCLINTDECLS @@ -1040,6 +1040,17 @@ EXTERN void TclBackgroundException(Tcl_Interp *interp, int code); /* 243 */ EXTERN void TclDbDumpActiveObjects(FILE *outFile); #endif +/* Slot 244 is reserved */ +/* Slot 245 is reserved */ +/* Slot 246 is reserved */ +/* Slot 247 is reserved */ +/* Slot 248 is reserved */ +#ifndef TclDoubleDigits_TCL_DECLARED +#define TclDoubleDigits_TCL_DECLARED +/* 249 */ +EXTERN char* TclDoubleDigits(double dv, int ndigits, int flags, + int*decpt, int*signum, char**endPtr); +#endif typedef struct TclIntStubs { int magic; @@ -1289,6 +1300,12 @@ typedef struct TclIntStubs { void *reserved241; void *reserved242; void (*tclDbDumpActiveObjects) (FILE *outFile); /* 243 */ + void *reserved244; + void *reserved245; + void *reserved246; + void *reserved247; + void *reserved248; + char* (*tclDoubleDigits) (double dv, int ndigits, int flags, int*decpt, int*signum, char**endPtr); /* 249 */ } TclIntStubs; #ifdef __cplusplus @@ -2008,6 +2025,15 @@ extern TclIntStubs *tclIntStubsPtr; #define TclDbDumpActiveObjects \ (tclIntStubsPtr->tclDbDumpActiveObjects) /* 243 */ #endif +/* Slot 244 is reserved */ +/* Slot 245 is reserved */ +/* Slot 246 is reserved */ +/* Slot 247 is reserved */ +/* Slot 248 is reserved */ +#ifndef TclDoubleDigits +#define TclDoubleDigits \ + (tclIntStubsPtr->tclDoubleDigits) /* 249 */ +#endif #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ |