summaryrefslogtreecommitdiffstats
path: root/generic/tclBinary.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2022-11-05 11:49:08 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2022-11-05 11:49:08 (GMT)
commitc3c5a80a02a02427696394cb0ed1f8adeab1099d (patch)
tree2a821319db65ee920a8d0fb027a68ddcb51c903d /generic/tclBinary.c
parent6559f4084e844e187198c5471bfd15f19c8dfecc (diff)
parentd9033672db616bb406894a480e90410666ff4545 (diff)
downloadtcl-c3c5a80a02a02427696394cb0ed1f8adeab1099d.zip
tcl-c3c5a80a02a02427696394cb0ed1f8adeab1099d.tar.gz
tcl-c3c5a80a02a02427696394cb0ed1f8adeab1099d.tar.bz2
Merge 8.7. lreplace4 bcc instruction and FLT_MAX fix
Diffstat (limited to 'generic/tclBinary.c')
-rw-r--r--generic/tclBinary.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index a7d6617..f27bb93 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -2051,7 +2051,11 @@ FormatNumber(
*/
if (fabs(dvalue) > (double) FLT_MAX) {
+ if (fabs(dvalue) > (FLT_MAX + pow(2, (FLT_MAX_EXP - FLT_MANT_DIG - 1)))) {
+ fvalue = (dvalue >= 0.0) ? INFINITY : -INFINITY; // c99
+ } else {
fvalue = (dvalue >= 0.0) ? FLT_MAX : -FLT_MAX;
+ }
} else {
fvalue = (float) dvalue;
}