diff options
author | Kevin B Kenny <kennykb@acm.org> | 2011-01-07 02:26:54 (GMT) |
---|---|---|
committer | Kevin B Kenny <kennykb@acm.org> | 2011-01-07 02:26:54 (GMT) |
commit | 23bfc6c3e04494eb9a8165535ae9a80efec1dd7a (patch) | |
tree | 41a959ed5a45fc272ddd3ac85711ccd9596e567f /tests/util.test | |
parent | 7b8d446e2d60cdb9a7f06cc2c59a1629b9ffe953 (diff) | |
download | tcl-23bfc6c3e04494eb9a8165535ae9a80efec1dd7a.zip tcl-23bfc6c3e04494eb9a8165535ae9a80efec1dd7a.tar.gz tcl-23bfc6c3e04494eb9a8165535ae9a80efec1dd7a.tar.bz2 |
* tests/util.test (util-15.*): Added test cases for floating point
conversion of the largest denormal and the smallest normal number,
to avoid any possibility of the failure suffered by PHP in the
last couple of days. (They didn't fail, so no actual functional
change.)
Diffstat (limited to 'tests/util.test')
-rw-r--r-- | tests/util.test | 90 |
1 files changed, 89 insertions, 1 deletions
diff --git a/tests/util.test b/tests/util.test index 1d31609..d435a82 100644 --- a/tests/util.test +++ b/tests/util.test @@ -7,7 +7,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: util.test,v 1.21 2010/11/28 23:20:11 kennykb Exp $ +# RCS: @(#) $Id: util.test,v 1.22 2011/01/07 02:26:55 kennykb Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest @@ -1903,6 +1903,94 @@ test util-14.2 {funky NaN} {*}{ -result -NaN(3456789abcdef) } +test util-15.1 {largest subnormal} {*}{ + -body { + binary scan [binary format w 0x000fffffffffffff] q x + set x + } + -result 2.225073858507201e-308 + -cleanup { + unset x + } +} + +test util-15.2 {largest subnormal} {*}{ + -body { + binary scan [binary format w 0x800fffffffffffff] q x + set x + } + -result -2.225073858507201e-308 + -cleanup { + unset x + } +} + +test util-15.3 {largest subnormal} {*}{ + -body { + binary scan [binary format q 2.225073858507201e-308] w x + format %#lx $x + } + -result 0xfffffffffffff + -cleanup { + unset x + } +} + +test util-15.4 {largest subnormal} {*}{ + -body { + binary scan [binary format q -2.225073858507201e-308] w x + format %#lx $x + } + -result 0x800fffffffffffff + -cleanup { + unset x + } +} + +test util-15.5 {smallest normal} {*}{ + -body { + binary scan [binary format w 0x0010000000000000] q x + set x + } + -result 2.2250738585072014e-308 + -cleanup { + unset x + } +} + +test util-15.6 {smallest normal} {*}{ + -body { + binary scan [binary format w 0x8010000000000000] q x + set x + } + -result -2.2250738585072014e-308 + -cleanup { + unset x + } +} + +test util-15.7 {smallest normal} {*}{ + -body { + binary scan [binary format q 2.2250738585072014e-308] w x + format %#lx $x + } + -result 0x10000000000000 + -cleanup { + unset x + } +} + +test util-15.8 {smallest normal} {*}{ + -body { + binary scan [binary format q -2.2250738585072014e-308] w x + format %#lx $x + } + -result 0x8010000000000000 + -cleanup { + unset x + } +} + # cleanup ::tcltest::cleanupTests return |