1# This file is a Tcl script to test the code in the file tclUtil.c. 2# This file is organized in the standard fashion for Tcl tests. 3# 4# Copyright © 1995-1998 Sun Microsystems, Inc. 5# Copyright © 1998-1999 Scriptics Corporation. 6# 7# See the file "license.terms" for information on usage and redistribution 8# of this file, and for a DISCLAIMER OF ALL WARRANTIES. 9 10if {"::tcltest" ni [namespace children]} { 11 package require tcltest 2.5 12 namespace import -force ::tcltest::* 13} 14 15::tcltest::loadTestedCommands 16catch [list package require -exact tcl::test [info patchlevel]] 17 18testConstraint controversialNaN 1 19testConstraint testbytestring [llength [info commands testbytestring]] 20testConstraint testdstring [llength [info commands testdstring]] 21testConstraint testconcatobj [llength [info commands testconcatobj]] 22testConstraint testdoubledigits [llength [info commands testdoubledigits]] 23testConstraint testprint [llength [info commands testprint]] 24 25testConstraint precision [expr {![catch {set saved_precision $::tcl_precision}]}] 26 27 28# Big test for correct ordering of data in [expr] 29 30proc testIEEE {} { 31 variable ieeeValues 32 binary scan [binary format dd -1.0 1.0] c* c 33 switch -exact -- $c { 34 {0 0 0 0 0 0 -16 -65 0 0 0 0 0 0 -16 63} { 35 # little endian 36 binary scan \x00\x00\x00\x00\x00\x00\xF0\xFF d \ 37 ieeeValues(-Infinity) 38 binary scan \x00\x00\x00\x00\x00\x00\xF0\xBF d \ 39 ieeeValues(-Normal) 40 binary scan \x00\x00\x00\x00\x00\x00\x08\x80 d \ 41 ieeeValues(-Subnormal) 42 binary scan \x00\x00\x00\x00\x00\x00\x00\x80 d \ 43 ieeeValues(-0) 44 binary scan \x00\x00\x00\x00\x00\x00\x00\x00 d \ 45 ieeeValues(+0) 46 binary scan \x00\x00\x00\x00\x00\x00\x08\x00 d \ 47 ieeeValues(+Subnormal) 48 binary scan \x00\x00\x00\x00\x00\x00\xF0\x3F d \ 49 ieeeValues(+Normal) 50 binary scan \x00\x00\x00\x00\x00\x00\xF0\x7F d \ 51 ieeeValues(+Infinity) 52 binary scan \x00\x00\x00\x00\x00\x00\xF8\x7F d \ 53 ieeeValues(NaN) 54 binary scan \x00\x00\x00\x00\x00\x00\xF8\xFF d \ 55 ieeeValues(-NaN) 56 binary scan \xEF\xCD\xAB\x89\x67\x45\xFB\xFF d \ 57 ieeeValues(-NaN(3456789abcdef)) 58 set ieeeValues(littleEndian) 1 59 return 1 60 } 61 {-65 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0} { 62 binary scan \xFF\xF0\x00\x00\x00\x00\x00\x00 d \ 63 ieeeValues(-Infinity) 64 binary scan \xBF\xF0\x00\x00\x00\x00\x00\x00 d \ 65 ieeeValues(-Normal) 66 binary scan \x80\x08\x00\x00\x00\x00\x00\x00 d \ 67 ieeeValues(-Subnormal) 68 binary scan \x80\x00\x00\x00\x00\x00\x00\x00 d \ 69 ieeeValues(-0) 70 binary scan \x00\x00\x00\x00\x00\x00\x00\x00 d \ 71 ieeeValues(+0) 72 binary scan \x00\x08\x00\x00\x00\x00\x00\x00 d \ 73 ieeeValues(+Subnormal) 74 binary scan \x3F\xF0\x00\x00\x00\x00\x00\x00 d \ 75 ieeeValues(+Normal) 76 binary scan \x7F\xF0\x00\x00\x00\x00\x00\x00 d \ 77 ieeeValues(+Infinity) 78 binary scan \x7F\xF8\x00\x00\x00\x00\x00\x00 d \ 79 ieeeValues(NaN) 80 binary scan \xFF\xF8\x00\x00\x00\x00\x00\x00 d \ 81 ieeeValues(-NaN) 82 binary scan \xFF\xFB\x45\x67\x89\xAB\xCD\xEF d \ 83 ieeeValues(-NaN(3456789abcdef)) 84 set ieeeValues(littleEndian) 0 85 return 1 86 } 87 default { 88 return 0 89 } 90 } 91} 92testConstraint ieeeFloatingPoint [testIEEE] 93 94proc convertDouble { x } { 95 variable ieeeValues 96 if { $ieeeValues(littleEndian) } { 97 binary scan [binary format w $x] d result 98 } else { 99 binary scan [binary format W $x] d result 100 } 101 return $result 102} 103 104proc verdonk_test {sig binexp shouldbe exp} { 105 regexp {([-+]?)([0-9a-f]+)} $sig -> signum sig 106 scan $sig %llx sig 107 if {$signum eq {-}} { 108 set signum [expr {1<<63}] 109 } else { 110 set signum 0 111 } 112 regexp {E([-+]?[0-9]+)} $binexp -> binexp 113 set word [expr {$signum | (($binexp + 0x3ff)<<52)|($sig & ~(1<<52))}] 114 binary scan [binary format w $word] q double 115 regexp {([-+])(\d+)_(\d+)\&} $shouldbe -> signum digits1 digits2 116 regexp {E([-+]\d+)} $exp -> decexp 117 incr decexp [expr {[string length $digits1] - 1}] 118 lassign [testdoubledigits $double [string length $digits1] e] \ 119 outdigits decpt outsign 120 if {[string index $digits2 0] >= 5} { 121 incr digits1 122 } 123 if {$outsign != $signum || $outdigits != $digits1 || $decpt != $decexp} { 124 return -code error "result is ${outsign}0.${outdigits}E$decpt\ 125 should be ${signum}0.${digits1}E$decexp" 126 } 127} 128 129test util-1.1 {TclFindElement procedure - binary element in middle of list} { 130 lindex {0 foo\x00help 1} 1 131} "foo\x00help" 132test util-1.2 {TclFindElement procedure - binary element at end of list} { 133 lindex {0 foo\x00help} 1 134} "foo\x00help" 135 136test util-2.1 {TclCopyAndCollapse procedure - normal string} { 137 lindex {0 foo} 1 138} {foo} 139test util-2.2 {TclCopyAndCollapse procedure - string with backslashes} { 140 lindex {0 foo\n\x00help 1} 1 141} "foo\n\x00help" 142 143test util-3.1 {Tcl_ScanCountedElement procedure - don't leave unmatched braces} { 144 # This test checks for a very tricky feature. Any list element 145 # generated with Tcl_ScanCountedElement and Tcl_ConvertElement must 146 # have the property that it can be enclosing in curly braces to make 147 # an embedded sub-list. If this property doesn't hold, then 148 # Tcl_DStringStartSublist doesn't work. 149 set x {} 150 lappend x "# \\\{ \\" 151 concat $x [llength "{$x}"] 152} {\#\ \\\{\ \\ 1} 153test util-3.2 {Tcl_ConverCountedElement procedure - quote leading '#'} { 154 list # # a 155} {{#} # a} 156test util-3.3 {Tcl_ConverCountedElement procedure - quote leading '#'} { 157 list #\{ # a 158} {\#\{ # a} 159test util-3.4 {Tcl_ConverCountedElement procedure - quote leading '#'} { 160 proc # {} {return #} 161 set result [eval [list #]] 162 rename # {} 163 set result 164} {#} 165test util-3.4.1 {Tcl_ConverCountedElement procedure - quote leading '#'} { 166 proc # {} {return #} 167 set cmd [list #] 168 append cmd "" ;# force string rep generation 169 set result [eval $cmd] 170 rename # {} 171 set result 172} {#} 173test util-3.5 {Tcl_ConverCountedElement procedure - quote leading '#'} { 174 proc #\{ {} {return #} 175 set result [eval [list #\{]] 176 rename #\{ {} 177 set result 178} {#} 179test util-3.5.1 {Tcl_ConverCountedElement procedure - quote leading '#'} { 180 proc #\{ {} {return #} 181 set cmd [list #\{] 182 append cmd "" ;# force string rep generation 183 set result [eval $cmd] 184 rename #\{ {} 185 set result 186} {#} 187test util-3.6 {Tcl_ConvertElement, Bug 3371644} { 188 interp create #\\ 189 interp alias {} x #\\ concat 190 interp target {} x ;# Crash if bug not fixed 191 interp delete #\\ 192} {} 193 194test util-4.1 {Tcl_ConcatObj - backslash-space at end of argument} { 195 concat a {b\ } c 196} {a b\ c} 197test util-4.2 {Tcl_ConcatObj - backslash-space at end of argument} { 198 concat a {b\ } c 199} {a b\ c} 200test util-4.3 {Tcl_ConcatObj - backslash-space at end of argument} { 201 concat a {b\\ } c 202} {a b\\ c} 203test util-4.4 {Tcl_ConcatObj - backslash-space at end of argument} { 204 concat a {b } c 205} {a b c} 206test util-4.5 {Tcl_ConcatObj - backslash-space at end of argument} { 207 concat a { } c 208} {a c} 209test util-4.6 {Tcl_ConcatObj - utf-8 sequence with "whitespace" char} { 210 # Check for Bug #227512. If this violates C isspace, then it returns \xC3. 211 concat \xE0 212} \xE0 213test util-4.7 {Tcl_ConcatObj - refCount safety} testconcatobj { 214 # Check for Bug #1447328 (actually, bugs in its original "fix"). One of the 215 # symptoms was Bug #2055782. 216 testconcatobj 217} {} 218test util-4.8 {Tcl_ConcatObj - [Bug 26649439c7]} { 219 concat [list foo] [list #] 220} {foo {#}} 221 222proc Wrapper_Tcl_StringMatch {pattern string} { 223 # Forces use of Tcl_StringMatch, not Tcl_UniCharCaseMatch 224 switch -glob -- $string $pattern {return 1} default {return 0} 225} 226test util-5.1 {Tcl_StringMatch} { 227 Wrapper_Tcl_StringMatch ab*c abc 228} 1 229test util-5.2 {Tcl_StringMatch} { 230 Wrapper_Tcl_StringMatch ab**c abc 231} 1 232test util-5.3 {Tcl_StringMatch} { 233 Wrapper_Tcl_StringMatch ab* abcdef 234} 1 235test util-5.4 {Tcl_StringMatch} { 236 Wrapper_Tcl_StringMatch *c abc 237} 1 238test util-5.5 {Tcl_StringMatch} { 239 Wrapper_Tcl_StringMatch *3*6*9 0123456789 240} 1 241test util-5.6 {Tcl_StringMatch} { 242 Wrapper_Tcl_StringMatch *3*6*9 01234567890 243} 0 244test util-5.7 {Tcl_StringMatch: UTF-8} { 245 Wrapper_Tcl_StringMatch *u 乏u 246} 1 247test util-5.8 {Tcl_StringMatch} { 248 Wrapper_Tcl_StringMatch a?c abc 249} 1 250test util-5.9 {Tcl_StringMatch: UTF-8} { 251 # skip one character in string 252 Wrapper_Tcl_StringMatch a?c a乏c 253} 1 254test util-5.10 {Tcl_StringMatch} { 255 Wrapper_Tcl_StringMatch a??c abc 256} 0 257test util-5.11 {Tcl_StringMatch} { 258 Wrapper_Tcl_StringMatch ?1??4???8? 0123456789 259} 1 260test util-5.12 {Tcl_StringMatch} { 261 Wrapper_Tcl_StringMatch {[abc]bc} abc 262} 1 263test util-5.13 {Tcl_StringMatch: UTF-8} { 264 # string += Tcl_UtfToUniChar(string, &ch); 265 Wrapper_Tcl_StringMatch "\[乏xy\]bc" "乏bc" 266} 1 267test util-5.14 {Tcl_StringMatch} { 268 # if ((*pattern == ']') || (*pattern == '\x00')) 269 # badly formed pattern 270 Wrapper_Tcl_StringMatch {[]} {[]} 271} 0 272test util-5.15 {Tcl_StringMatch} { 273 # if ((*pattern == ']') || (*pattern == '\x00')) 274 # badly formed pattern 275 Wrapper_Tcl_StringMatch {[} {[} 276} 0 277test util-5.16 {Tcl_StringMatch} { 278 Wrapper_Tcl_StringMatch {a[abc]c} abc 279} 1 280test util-5.17 {Tcl_StringMatch: UTF-8} { 281 # pattern += Tcl_UtfToUniChar(pattern, &endChar); 282 # get 1 UTF-8 character 283 Wrapper_Tcl_StringMatch "a\[a乏c]c" "a乏c" 284} 1 285test util-5.18 {Tcl_StringMatch: UTF-8} testbytestring { 286 # pattern += Tcl_UtfToUniChar(pattern, &endChar); 287 # proper advance: wrong answer would match on UTF trail byte of 乏 288 Wrapper_Tcl_StringMatch {a[a乏c]c} [testbytestring a\x8Fc] 289} 0 290test util-5.19 {Tcl_StringMatch: UTF-8} { 291 # pattern += Tcl_UtfToUniChar(pattern, &endChar); 292 # proper advance. 293 Wrapper_Tcl_StringMatch {a[a乏c]c} "acc" 294} 1 295test util-5.20 {Tcl_StringMatch} { 296 Wrapper_Tcl_StringMatch {a[xyz]c} abc 297} 0 298test util-5.21 {Tcl_StringMatch} { 299 Wrapper_Tcl_StringMatch {12[2-7]45} 12345 300} 1 301test util-5.22 {Tcl_StringMatch: UTF-8 range} { 302 Wrapper_Tcl_StringMatch "\[一-乏]" "0" 303} 0 304test util-5.23 {Tcl_StringMatch: UTF-8 range} { 305 Wrapper_Tcl_StringMatch "\[一-乏]" "丳" 306} 1 307test util-5.24 {Tcl_StringMatch: UTF-8 range} { 308 Wrapper_Tcl_StringMatch "\[一-乏]" "(" 309} 0 310test util-5.25 {Tcl_StringMatch} { 311 Wrapper_Tcl_StringMatch {12[ab2-4cd]45} 12345 312} 1 313test util-5.26 {Tcl_StringMatch} { 314 Wrapper_Tcl_StringMatch {12[ab2-4cd]45} 12b45 315} 1 316test util-5.27 {Tcl_StringMatch} { 317 Wrapper_Tcl_StringMatch {12[ab2-4cd]45} 12d45 318} 1 319test util-5.28 {Tcl_StringMatch} { 320 Wrapper_Tcl_StringMatch {12[ab2-4cd]45} 12145 321} 0 322test util-5.29 {Tcl_StringMatch} { 323 Wrapper_Tcl_StringMatch {12[ab2-4cd]45} 12545 324} 0 325test util-5.30 {Tcl_StringMatch: forwards range} { 326 Wrapper_Tcl_StringMatch {[k-w]} "z" 327} 0 328test util-5.31 {Tcl_StringMatch: forwards range} { 329 Wrapper_Tcl_StringMatch {[k-w]} "w" 330} 1 331test util-5.32 {Tcl_StringMatch: forwards range} { 332 Wrapper_Tcl_StringMatch {[k-w]} "r" 333} 1 334test util-5.33 {Tcl_StringMatch: forwards range} { 335 Wrapper_Tcl_StringMatch {[k-w]} "k" 336} 1 337test util-5.34 {Tcl_StringMatch: forwards range} { 338 Wrapper_Tcl_StringMatch {[k-w]} "a" 339} 0 340test util-5.35 {Tcl_StringMatch: reverse range} { 341 Wrapper_Tcl_StringMatch {[w-k]} "z" 342} 0 343test util-5.36 {Tcl_StringMatch: reverse range} { 344 Wrapper_Tcl_StringMatch {[w-k]} "w" 345} 1 346test util-5.37 {Tcl_StringMatch: reverse range} { 347 Wrapper_Tcl_StringMatch {[w-k]} "r" 348} 1 349test util-5.38 {Tcl_StringMatch: reverse range} { 350 Wrapper_Tcl_StringMatch {[w-k]} "k" 351} 1 352test util-5.39 {Tcl_StringMatch: reverse range} { 353 Wrapper_Tcl_StringMatch {[w-k]} "a" 354} 0 355test util-5.40 {Tcl_StringMatch: skip correct number of ']'} { 356 Wrapper_Tcl_StringMatch {[A-]x} Ax 357} 0 358test util-5.41 {Tcl_StringMatch: skip correct number of ']'} { 359 Wrapper_Tcl_StringMatch {[A-]]x} Ax 360} 1 361test util-5.42 {Tcl_StringMatch: skip correct number of ']'} { 362 Wrapper_Tcl_StringMatch {[A-]]x} \xE1x 363} 0 364test util-5.43 {Tcl_StringMatch: skip correct number of ']'} { 365 Wrapper_Tcl_StringMatch \[A-]\xE1]x \xE1x 366} 1 367test util-5.44 {Tcl_StringMatch: skip correct number of ']'} { 368 Wrapper_Tcl_StringMatch {[A-]h]x} hx 369} 1 370test util-5.45 {Tcl_StringMatch} { 371 # if (*pattern == '\x00') 372 # badly formed pattern, still treats as a set 373 Wrapper_Tcl_StringMatch {[a} a 374} 1 375test util-5.46 {Tcl_StringMatch} { 376 Wrapper_Tcl_StringMatch {a\*b} a*b 377} 1 378test util-5.47 {Tcl_StringMatch} { 379 Wrapper_Tcl_StringMatch {a\*b} ab 380} 0 381test util-5.48 {Tcl_StringMatch} { 382 Wrapper_Tcl_StringMatch {a\*\?\[\]\\\x} "a*?\[\]\\x" 383} 1 384test util-5.49 {Tcl_StringMatch} { 385 Wrapper_Tcl_StringMatch ** "" 386} 1 387test util-5.50 {Tcl_StringMatch} { 388 Wrapper_Tcl_StringMatch *. "" 389} 0 390test util-5.51 {Tcl_StringMatch} { 391 Wrapper_Tcl_StringMatch "" "" 392} 1 393test util-5.52 {Tcl_StringMatch} { 394 Wrapper_Tcl_StringMatch \[a\x00 a\x80 395} 0 396 397 398test util-6.1 {Tcl_PrintDouble - using tcl_precision} -constraints precision -setup { 399 set old_precision $::tcl_precision 400 set ::tcl_precision 12 401} -body { 402 concat x[expr {1.4}] 403} -cleanup { 404 set ::tcl_precision $old_precision 405} -result {x1.4} 406test util-6.2 {Tcl_PrintDouble - using tcl_precision} -constraints precision -setup { 407 set old_precision $::tcl_precision 408 set ::tcl_precision 12 409} -body { 410 concat x[expr {1.39999999999}] 411} -cleanup { 412 set ::tcl_precision $old_precision 413} -result {x1.39999999999} 414test util-6.3 {Tcl_PrintDouble - using tcl_precision} -constraints precision -setup { 415 set old_precision $::tcl_precision 416 set ::tcl_precision 12 417} -body { 418 concat x[expr {1.399999999999}] 419} -cleanup { 420 set ::tcl_precision $old_precision 421} -result {x1.4} 422test util-6.4 {Tcl_PrintDouble - using tcl_precision} -constraints precision -setup { 423 set old_precision $::tcl_precision 424 set ::tcl_precision 5 425} -body { 426 concat x[expr {1.123412341234}] 427} -cleanup { 428 set tcl_precision $old_precision 429} -result {x1.1234} 430test util-6.5 {Tcl_PrintDouble - make sure there's a decimal point} { 431 concat x[expr {2.0}] 432} {x2.0} 433test util-6.6 {Tcl_PrintDouble - make sure there's a decimal point} { 434 concat x[expr {3.0e98}] 435} {x3e+98} 436 437test util-7.1 {TclPrecTraceProc - unset callbacks} -constraints precision -setup { 438 set old_precision $::tcl_precision 439} -body { 440 set tcl_precision 7 441 set x $tcl_precision 442 unset tcl_precision 443 list $x $tcl_precision 444} -cleanup { 445 set ::tcl_precision $old_precision 446} -result {7 7} 447test util-7.2 {TclPrecTraceProc - read traces, sharing among interpreters} -constraints precision -setup { 448 set old_precision $::tcl_precision 449} -body { 450 set tcl_precision 12 451 interp create child 452 set x [child eval set tcl_precision] 453 child eval {set tcl_precision 6} 454 interp delete child 455 list $x $tcl_precision 456} -cleanup { 457 set ::tcl_precision $old_precision 458} -result {12 6} 459test util-7.3 {TclPrecTraceProc - write traces, safe interpreters} -constraints precision -setup { 460 set old_precision $::tcl_precision 461} -body { 462 set tcl_precision 12 463 interp create -safe child 464 set x [child eval { 465 list [catch {set tcl_precision 8} msg] $msg 466 }] 467 interp delete child 468 list $x $tcl_precision 469} -cleanup { 470 set ::tcl_precision $old_precision 471} -result {{1 {can't set "tcl_precision": can't modify precision from a safe interpreter}} 12} 472test util-7.4 {TclPrecTraceProc - write traces, bogus values} -constraints precision -setup { 473 set old_precision $::tcl_precision 474} -body { 475 set tcl_precision 12 476 list [catch {set tcl_precision abc} msg] $msg $tcl_precision 477} -cleanup { 478 set ::tcl_precision $old_precision 479} -result {1 {can't set "tcl_precision": improper value for precision} 12} 480 481# This test always succeeded in the C locale anyway... 482test util-8.1 {TclNeedSpace - correct utf-8 handling} { 483 # Bug 411825 484 # Note that this test relies on the fact that 485 # [interp target] calls on Tcl_AppendElement() 486 # which calls on TclNeedSpace(). If [interp target] 487 # is ever updated, this test will no longer test 488 # TclNeedSpace. 489 interp create 吠 490 interp create [list 吠 foo] 491 interp alias {} fooset [list 吠 foo] set 492 set result [interp target {} fooset] 493 interp delete 吠 494 set result 495} "吠 foo" 496test util-8.2 {TclNeedSpace - correct utf-8 handling} testdstring { 497 # Bug 411825 498 # This tests the same bug as the previous test, but 499 # should be more future-proof, as the DString 500 # operations will likely continue to call TclNeedSpace 501 testdstring free 502 testdstring append 吠 -1 503 testdstring element foo 504 llength [testdstring get] 505} 2 506test util-8.3 {TclNeedSpace - correct utf-8 handling} testdstring { 507 # Bug 411825 - new variant reported by Dossy Shiobara 508 testdstring free 509 testdstring append \xA0 -1 510 testdstring element foo 511 llength [testdstring get] 512} 2 513test util-8.4 {TclNeedSpace - correct utf-8 handling} testdstring { 514 # Another bug uncovered while fixing 411825 515 testdstring free 516 testdstring append {\ } -1 517 testdstring append \{ -1 518 testdstring element foo 519 llength [testdstring get] 520} 2 521test util-8.5 {TclNeedSpace - correct utf-8 handling} testdstring { 522 testdstring free 523 testdstring append {\\ } -1 524 testdstring element foo 525 list [llength [testdstring get]] [string length [testdstring get]] 526} {2 6} 527test util-8.6 {TclNeedSpace - correct utf-8 handling} testdstring { 528 testdstring free 529 testdstring append {\\ } -1 530 testdstring append \{ -1 531 testdstring element foo 532 testdstring append \} -1 533 list [llength [testdstring get]] [string length [testdstring get]] 534} {2 8} 535test util-8.7 {TclNeedSpace - watch out for escaped space} testdstring { 536 testdstring free 537 testdstring append {\ } -1 538 testdstring start 539 testdstring end 540 541 # Should make {\ {}} 542 list [llength [testdstring get]] [string index [testdstring get] 3] 543} {2 \{} 544test util-8.8 {TclNeedSpace - watch out for escaped space} testdstring { 545 testdstring free 546 testdstring append {\\ } -1 547 testdstring start 548 testdstring end 549 550 # Should make {\\ {}} 551 list [llength [testdstring get]] [string index [testdstring get] 3] 552} {2 \{} 553test util-8.9 {TclNeedSpace - watch out for escaped space} testdstring { 554 testdstring free 555 testdstring append {\\\ } -1 556 testdstring start 557 testdstring end 558 559 # Should make {\\\ {}} 560 list [llength [testdstring get]] [string index [testdstring get] 5] 561} {2 \{} 562test util-8.10 {TclNeedSpace - watch out for escaped space} testdstring { 563 testdstring free 564 testdstring append {\\\\\\\ } -1 565 testdstring start 566 testdstring end 567 568 # Should make {\\\\\\\ {}} 569 list [llength [testdstring get]] [string index [testdstring get] 9] 570} {2 \{} 571test util-8.11 {TclNeedSpace - watch out for escaped space} testdstring { 572 testdstring free 573 testdstring append {\\\\\\\\ } -1 574 testdstring start 575 testdstring end 576 577 # Should make {\\\\\\\\ {}} 578 list [llength [testdstring get]] [string index [testdstring get] 9] 579} {2 \{} 580 581test util-9.0.0 {Tcl_GetIntForIndex} { 582 string index abcd 0 583} a 584test util-9.0.1 {Tcl_GetIntForIndex} { 585 string index abcd 0x0 586} a 587test util-9.0.2 {Tcl_GetIntForIndex} { 588 string index abcd -0x0 589} a 590test util-9.0.3 {Tcl_GetIntForIndex} { 591 string index abcd { 0 } 592} a 593test util-9.0.4 {Tcl_GetIntForIndex} { 594 string index abcd { 0x0 } 595} a 596test util-9.0.5 {Tcl_GetIntForIndex} { 597 string index abcd { -0x0 } 598} a 599test util-9.0.6 {Tcl_GetIntForIndex} { 600 string index abcd 01 601} b 602test util-9.0.7 {Tcl_GetIntForIndex} { 603 string index abcd { 01 } 604} b 605test util-9.0.8 {Tcl_GetIntForIndex} { 606 string index abcd { 0d0 } 607} a 608test util-9.0.9 {Tcl_GetIntForIndex} { 609 string index abcd { -0d0 } 610} a 611test util-9.1.0 {Tcl_GetIntForIndex} { 612 string index abcd 3 613} d 614test util-9.1.1 {Tcl_GetIntForIndex} { 615 string index abcd { 3 } 616} d 617test util-9.1.2 {Tcl_GetIntForIndex} { 618 string index abcdefghijk 0xa 619} k 620test util-9.1.3 {Tcl_GetIntForIndex} { 621 string index abcdefghijk { 0xa } 622} k 623test util-9.1.4 {Tcl_GetIntForIndex} { 624 string index abcdefghijk 0d10 625} k 626test util-9.1.5 {Tcl_GetIntForIndex} { 627 string index abcdefghijk { 0d10 } 628} k 629test util-9.2.0 {Tcl_GetIntForIndex} { 630 string index abcd end 631} d 632test util-9.2.1 {Tcl_GetIntForIndex} -body { 633 string index abcd { end} 634} -returnCodes error -match glob -result * 635test util-9.2.2 {Tcl_GetIntForIndex} -body { 636 string index abcd {end } 637} -returnCodes error -match glob -result * 638test util-9.3 {Tcl_GetIntForIndex} -body { 639 # Deprecated 640 string index abcd en 641} -returnCodes error -match glob -result * 642test util-9.4 {Tcl_GetIntForIndex} -body { 643 # Deprecated 644 string index abcd e 645} -returnCodes error -match glob -result * 646test util-9.5.0 {Tcl_GetIntForIndex} { 647 string index abcd end-1 648} c 649test util-9.5.1 {Tcl_GetIntForIndex} { 650 string index abcd {end-1 } 651} c 652test util-9.5.2 {Tcl_GetIntForIndex} -body { 653 string index abcd { end-1} 654} -returnCodes error -match glob -result * 655test util-9.6 {Tcl_GetIntForIndex} { 656 string index abcd end+-1 657} c 658test util-9.7 {Tcl_GetIntForIndex} { 659 string index abcd end+1 660} {} 661test util-9.8 {Tcl_GetIntForIndex} { 662 string index abcd end--1 663} {} 664test util-9.9.0 {Tcl_GetIntForIndex} { 665 string index abcd 0+0 666} a 667test util-9.9.1 {Tcl_GetIntForIndex} { 668 string index abcd { 0+0 } 669} a 670test util-9.10 {Tcl_GetIntForIndex} { 671 string index abcd 0-0 672} a 673test util-9.11 {Tcl_GetIntForIndex} { 674 string index abcd 1+0 675} b 676test util-9.12 {Tcl_GetIntForIndex} { 677 string index abcd 1-0 678} b 679test util-9.13 {Tcl_GetIntForIndex} { 680 string index abcd 1+1 681} c 682test util-9.14 {Tcl_GetIntForIndex} { 683 string index abcd 1-1 684} a 685test util-9.15 {Tcl_GetIntForIndex} { 686 string index abcd -1+2 687} b 688test util-9.16 {Tcl_GetIntForIndex} { 689 string index abcd -1--2 690} b 691test util-9.17 {Tcl_GetIntForIndex} { 692 string index abcd { -1+2 } 693} b 694test util-9.18 {Tcl_GetIntForIndex} { 695 string index abcd { -1--2 } 696} b 697test util-9.19 {Tcl_GetIntForIndex} -body { 698 string index a {} 699} -returnCodes error -match glob -result * 700test util-9.20 {Tcl_GetIntForIndex} -body { 701 string index a { } 702} -returnCodes error -match glob -result * 703test util-9.21 {Tcl_GetIntForIndex} -body { 704 string index a " \r\t\n" 705} -returnCodes error -match glob -result * 706test util-9.22 {Tcl_GetIntForIndex} -body { 707 string index a + 708} -returnCodes error -match glob -result * 709test util-9.23 {Tcl_GetIntForIndex} -body { 710 string index a - 711} -returnCodes error -match glob -result * 712test util-9.24 {Tcl_GetIntForIndex} -body { 713 string index a x 714} -returnCodes error -match glob -result * 715test util-9.25 {Tcl_GetIntForIndex} -body { 716 string index a +x 717} -returnCodes error -match glob -result * 718test util-9.26 {Tcl_GetIntForIndex} -body { 719 string index a -x 720} -returnCodes error -match glob -result * 721test util-9.27 {Tcl_GetIntForIndex} -body { 722 string index a 0y 723} -returnCodes error -match glob -result * 724test util-9.28 {Tcl_GetIntForIndex} -body { 725 string index a 1* 726} -returnCodes error -match glob -result * 727test util-9.29 {Tcl_GetIntForIndex} -body { 728 string index a 0+ 729} -returnCodes error -match glob -result * 730test util-9.30 {Tcl_GetIntForIndex} -body { 731 string index a {0+ } 732} -returnCodes error -match glob -result * 733test util-9.31 {Tcl_GetIntForIndex} -body { 734 string index a 0x 735} -returnCodes error -match glob -result * 736test util-9.31.1 {Tcl_GetIntForIndex} -body { 737 string index a 0d 738} -returnCodes error -match glob -result * 739test util-9.32 {Tcl_GetIntForIndex} -body { 740 string index a 0x1FFFFFFFF+0 741} -result {} 742test util-9.33 {Tcl_GetIntForIndex} -body { 743 string index a 100000000000+0 744} -result {} 745test util-9.33.1 {Tcl_GetIntForIndex} -body { 746 string index a 0d100000000000+0 747} -result {} 748test util-9.34 {Tcl_GetIntForIndex} -body { 749 string index a 1.0 750} -returnCodes error -match glob -result * 751test util-9.35 {Tcl_GetIntForIndex} -body { 752 string index a 1e23 753} -returnCodes error -match glob -result * 754test util-9.36 {Tcl_GetIntForIndex} -body { 755 string index a 1.5e2 756} -returnCodes error -match glob -result * 757test util-9.37 {Tcl_GetIntForIndex} -body { 758 string index a 0+x 759} -returnCodes error -match glob -result * 760test util-9.38 {Tcl_GetIntForIndex} -body { 761 string index a 0+0x 762} -returnCodes error -match glob -result * 763test util-9.39 {Tcl_GetIntForIndex} -body { 764 string index a 0+0xg 765} -returnCodes error -match glob -result * 766test util-9.40 {Tcl_GetIntForIndex} -body { 767 string index a 0+0xg 768} -returnCodes error -match glob -result * 769test util-9.41 {Tcl_GetIntForIndex} -body { 770 string index a 0+1.0 771} -returnCodes error -match glob -result * 772test util-9.42 {Tcl_GetIntForIndex} -body { 773 string index a 0+1e2 774} -returnCodes error -match glob -result * 775test util-9.43 {Tcl_GetIntForIndex} -body { 776 string index a 0+1.5e1 777} -returnCodes error -match glob -result * 778test util-9.44 {Tcl_GetIntForIndex} -body { 779 string index a 0+1000000000000 780} -result {} 781test util-9.45 {Tcl_GetIntForIndex} -body { 782 string index abcd end+2305843009213693950 783} -result {} 784test util-9.46 {Tcl_GetIntForIndex} -body { 785 string index abcd end+4294967294 786} -result {} 787# TIP 502 788test util-9.47 {Tcl_GetIntForIndex} -body { 789 string index abcd 0x10000000000000000 790} -result {} 791test util-9.48 {Tcl_GetIntForIndex} { 792 string index abcd -0x10000000000000000 793} {} 794test util-9.49 {Tcl_GetIntForIndex} -body { 795 string index abcd end*1 796} -returnCodes error -match glob -result * 797test util-9.50 {Tcl_GetIntForIndex} -body { 798 string index abcd {end- 1} 799} -returnCodes error -match glob -result * 800test util-9.51 {Tcl_GetIntForIndex} -body { 801 string index abcd end-end 802} -returnCodes error -match glob -result * 803test util-9.52 {Tcl_GetIntForIndex} -body { 804 string index abcd end-x 805} -returnCodes error -match glob -result * 806test util-9.53 {Tcl_GetIntForIndex} -body { 807 string index abcd end-0.1 808} -returnCodes error -match glob -result * 809test util-9.54 {Tcl_GetIntForIndex} { 810 string index abcd end-0x10000000000000000 811} {} 812test util-9.55 {Tcl_GetIntForIndex} -body { 813 string index abcd end+0x10000000000000000 814} -result {} 815test util-9.56 {Tcl_GetIntForIndex} -body { 816 string index abcd end--0x10000000000000000 817} -result {} 818test util-9.57 {Tcl_GetIntForIndex} { 819 string index abcd end+-0x10000000000000000 820} {} 821test util-9.58 {Tcl_GetIntForIndex} -body { 822 string index abcd end--0x8000000000000000 823} -result {} 824test util-9.59 {Tcl_GetIntForIndex} { 825 string index abcd 0-0x10000000000000000 826} {} 827 828test util-10.1 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 829 convertDouble 0x0000000000000000 830} {0.0} 831test util-10.2 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 832 convertDouble 0x8000000000000000 833} {-0.0} 834test util-10.3 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 835 convertDouble 0x7ef754e31cd072da 836} {4e+303} 837test util-10.4 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 838 convertDouble 0xd08afcef51f0fb5f 839} {-1e+80} 840test util-10.5 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 841 convertDouble 0x7ed754e31cd072da 842} {1e+303} 843test util-10.6 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 844 convertDouble 0xfee754e31cd072da 845} {-2e+303} 846test util-10.7 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 847 convertDouble 0x0afe07b27dd78b14 848} {1e-255} 849test util-10.8 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 850 convertDouble 0x93ae29e9c56687fe 851} {-7e-214} 852test util-10.9 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 853 convertDouble 0x376be03d0bf225c7 854} {1e-41} 855test util-10.10 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 856 convertDouble 0xa0ca2fe76a3f9475 857} {-1e-150} 858test util-10.11 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 859 convertDouble 0x7fa9a2028368022e 860} {9e+306} 861test util-10.12 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 862 convertDouble 0xdfc317e5ef3ab327 863} {-2e+153} 864test util-10.13 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 865 convertDouble 0x5fd317e5ef3ab327 866} {4e+153} 867test util-10.14 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 868 convertDouble 0xdfe317e5ef3ab327 869} {-8e+153} 870test util-10.15 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 871 convertDouble 0x00feb8e84fa0b278 872} {7e-304} 873test util-10.16 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 874 convertDouble 0x8133339131c46f8b 875} {-7e-303} 876test util-10.17 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 877 convertDouble 0x35dc0f92a6276c9d 878} {3e-49} 879test util-10.18 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 880 convertDouble 0xa445ce1f143d7ad2 881} {-6e-134} 882test util-10.19 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 883 convertDouble 0x2d2c0794d9d40e96 884} {4.3e-91} 885test util-10.20 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 886 convertDouble 0xad3c0794d9d40e96 887} {-8.6e-91} 888test util-10.21 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 889 convertDouble 0x30ecd5bee57763e6 890} {5.1e-73} 891test util-10.22 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 892 convertDouble 0x68ad1c26db7d0dae 893} {1.7e+196} 894test util-10.23 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 895 convertDouble 0xbfa3f7ced916872b 896} {-0.039} 897test util-10.24 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 898 convertDouble 0x64b7d93193f78fc6 899} {1.51e+177} 900test util-10.25 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 901 convertDouble 0x98ea82a1631eeb30 902} {-1.19e-188} 903test util-10.26 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 904 convertDouble 0xd216c309024bab4b 905} {-2.83e+87} 906test util-10.27 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 907 convertDouble 0x0dfdbbac6f83a821 908} {2.7869147e-241} 909test util-10.28 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 910 convertDouble 0xdadc569e968e0944 911} {-4.91080654e+129} 912test util-10.29 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 913 convertDouble 0x5acc569e968e0944 914} {2.45540327e+129} 915test util-10.30 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 916 convertDouble 0xab5fc575867314ee 917} {-9.078555839e-100} 918test util-10.31 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 919 convertDouble 0xdabc569e968e0944 920} {-1.227701635e+129} 921test util-10.32 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 922 convertDouble 0x2b6fc575867314ee 923} {1.8157111678e-99} 924test util-10.33 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 925 convertDouble 0xb3b8bf7e7fa6f02a 926} {-1.5400733123779e-59} 927test util-10.34 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 928 convertDouble 0xcd83de005bd620df 929} {-2.6153245263757307e+65} 930test util-10.35 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 931 convertDouble 0x6cdf92bacb3cb40c 932} {2.7210404151224248e+216} 933test util-10.36 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 934 convertDouble 0xecef92bacb3cb40c 935} {-5.4420808302448496e+216} 936test util-10.37 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 937 convertDouble 0x49342dbf25096cf5 938} {4.5e+44} 939test util-10.38 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 940 convertDouble 0xd06afcef51f0fb5f 941} {-2.5e+79} 942test util-10.39 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 943 convertDouble 0x49002498ea6df0c4 944} {4.5e+43} 945test util-10.40 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 946 convertDouble 0xfeb754e31cd072da 947} {-2.5e+302} 948test util-10.41 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 949 convertDouble 0x1d22deac01e2b4f7 950} {2.5e-168} 951test util-10.42 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 952 convertDouble 0xaccb1df536c13eee 953} {-6.5e-93} 954test util-10.43 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 955 convertDouble 0x3650711fed5b19a4 956} {4.5e-47} 957test util-10.44 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 958 convertDouble 0xb6848d67e8b1e00d 959} {-4.5e-46} 960test util-10.45 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 961 convertDouble 0x4bac8c574c0c6be7 962} {3.5e+56} 963test util-10.46 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 964 convertDouble 0xccd756183c147514 965} {-1.5e+62} 966test util-10.47 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 967 convertDouble 0x4ca2ab469676c410 968} {1.5e+61} 969test util-10.48 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 970 convertDouble 0xcf5539684e774b48 971} {-1.5e+74} 972test util-10.49 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 973 convertDouble 0x2e12e5f5dfa4fe9d 974} {9.5e-87} 975test util-10.50 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 976 convertDouble 0x8b9bdc2417bf7787 977} {-9.5e-253} 978test util-10.51 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 979 convertDouble 0x00eeb8e84fa0b278 980} {3.5e-304} 981test util-10.52 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 982 convertDouble 0xadde3cbc9907fdc8 983} {-9.5e-88} 984test util-10.53 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 985 convertDouble 0x2bb0ad836f269a17 986} {3.05e-98} 987test util-10.54 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 988 convertDouble 0x950b39ae1909c31b 989} {-2.65e-207} 990test util-10.55 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 991 convertDouble 0x1bfb2ab18615fcc6 992} {6.865e-174} 993test util-10.56 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 994 convertDouble 0x98f3e1f90a573064 995} {-1.785e-188} 996test util-10.57 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 997 convertDouble 0x5206c309024bab4b 998} {1.415e+87} 999test util-10.58 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1000 convertDouble 0xcc059bd3ad46e346 1001} {-1.6955e+58} 1002test util-10.59 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1003 convertDouble 0x47bdf4170f0fdecc 1004} {3.9815e+37} 1005test util-10.60 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1006 convertDouble 0x59e7e1e0f1c7a4ac 1007} {1.263005e+125} 1008test util-10.61 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1009 convertDouble 0xda1dda592e398dd7 1010} {-1.263005e+126} 1011test util-10.62 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1012 convertDouble 0xdc4e597c0b94b7ae 1013} {-4.4118455e+136} 1014test util-10.63 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1015 convertDouble 0x5aac569e968e0944 1016} {6.138508175e+128} 1017test util-10.64 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1018 convertDouble 0xdabc569e968e0944 1019} {-1.227701635e+129} 1020test util-10.65 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1021 convertDouble 0x6ce7ae0c186d8709 1022} {4.081560622683637e+216} 1023test util-10.66 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1024 convertDouble 0x44b52d02c7e14af7 1025} {1.0000000000000001e+23} 1026test util-10.67 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1027 convertDouble 0xc589d971e4fe8402 1028} {-1e+27} 1029test util-10.68 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1030 convertDouble 0x4599d971e4fe8402 1031} {2e+27} 1032test util-10.69 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1033 convertDouble 0xc5a9d971e4fe8402 1034} {-4e+27} 1035test util-10.70 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1036 convertDouble 0x3e45798ee2308c3a 1037} {1e-8} 1038test util-10.71 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1039 convertDouble 0xbe55798ee2308c3a 1040} {-2e-8} 1041test util-10.72 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1042 convertDouble 0x3e65798ee2308c3a 1043} {4e-8} 1044test util-10.73 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1045 convertDouble 0xbabef2d0f5da7dd9 1046} {-1e-25} 1047test util-10.74 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1048 convertDouble 0x44da784379d99db4 1049} {5e+23} 1050test util-10.75 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1051 convertDouble 0xc4fa784379d99db4 1052} {-2e+24} 1053test util-10.76 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1054 convertDouble 0x4503da329b633647 1055} {3e+24} 1056test util-10.77 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1057 convertDouble 0xc54cf389cd46047d 1058} {-7e+25} 1059test util-10.78 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1060 convertDouble 0x3fc999999999999a 1061} {0.2} 1062test util-10.79 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1063 convertDouble 0xbfd3333333333333 1064} {-0.3} 1065test util-10.80 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1066 convertDouble 0x3cf6849b86a12b9b 1067} {5e-15} 1068test util-10.81 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1069 convertDouble 0xbd16849b86a12b9b 1070} {-2e-14} 1071test util-10.82 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1072 convertDouble 0x3b87ccfc73126788 1073} {6.3e-22} 1074test util-10.83 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1075 convertDouble 0xbbbdc03b8fd7016a 1076} {-6.3e-21} 1077test util-10.84 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1078 convertDouble 0x3fa3f7ced916872b 1079} {0.039} 1080test util-10.85 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1081 convertDouble 0x460b297cad9f70b6 1082} {2.69e+29} 1083test util-10.86 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1084 convertDouble 0xc61b297cad9f70b6 1085} {-5.38e+29} 1086test util-10.87 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1087 convertDouble 0x3adcdc06b20ef183 1088} {3.73e-25} 1089test util-10.88 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1090 convertDouble 0x45fb297cad9f70b6 1091} {1.345e+29} 1092test util-10.89 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1093 convertDouble 0xc60b297cad9f70b6 1094} {-2.69e+29} 1095test util-10.90 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1096 convertDouble 0xbc050a246ecd44f3 1097} {-1.4257e-19} 1098test util-10.91 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1099 convertDouble 0xbec19b96f36ec68b 1100} {-2.09901e-6} 1101test util-10.92 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1102 convertDouble 0x3dcc06d366394441 1103} {5.0980203373e-11} 1104test util-10.93 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1105 convertDouble 0xc79f58ac4db68c90 1106} {-1.04166211811e+37} 1107test util-10.94 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1108 convertDouble 0x4569d971e4fe8402 1109} {2.5e+26} 1110test util-10.95 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1111 convertDouble 0xc50dc74be914d16b 1112} {-4.5e+24} 1113test util-10.96 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1114 convertDouble 0x4534adf4b7320335 1115} {2.5e+25} 1116test util-10.97 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1117 convertDouble 0xc54ae22487c1042b 1118} {-6.5e+25} 1119test util-10.98 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1120 convertDouble 0x3c987fe49aab41e0 1121} {8.5e-17} 1122test util-10.99 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1123 convertDouble 0xbc2f5c05e4b23fd7 1124} {-8.5e-19} 1125test util-10.100 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1126 convertDouble 0x3d5faa7ab552a552 1127} {4.5e-13} 1128test util-10.101 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1129 convertDouble 0xbdbb7cdfd9d7bdbb 1130} {-2.5e-11} 1131test util-10.102 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1132 convertDouble 0x44f3da329b633647 1133} {1.5e+24} 1134test util-10.103 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1135 convertDouble 0xc53cf389cd46047d 1136} {-3.5e+25} 1137test util-10.104 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1138 convertDouble 0x454f04ef12cb04cf 1139} {7.5e+25} 1140test util-10.105 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1141 convertDouble 0xc55f04ef12cb04cf 1142} {-1.5e+26} 1143test util-10.106 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1144 convertDouble 0x3fc3333333333333 1145} {0.15} 1146test util-10.107 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1147 convertDouble 0xbdb07e1fe91b0b70 1148} {-1.5e-11} 1149test util-10.108 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1150 convertDouble 0x3de49da7e361ce4c 1151} {1.5e-10} 1152test util-10.109 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1153 convertDouble 0xbe19c511dc3a41df 1154} {-1.5e-9} 1155test util-10.110 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1156 convertDouble 0xc5caa83d74267822 1157} {-1.65e+28} 1158test util-10.111 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1159 convertDouble 0x4588f1d5969453de 1160} {9.65e+26} 1161test util-10.112 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1162 convertDouble 0x3b91d9bd564dcda6 1163} {9.45e-22} 1164test util-10.113 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1165 convertDouble 0xbcfa58973ecbede6 1166} {-5.85e-15} 1167test util-10.114 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1168 convertDouble 0x45eb297cad9f70b6 1169} {6.725e+28} 1170test util-10.115 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1171 convertDouble 0xc5fb297cad9f70b6 1172} {-1.345e+29} 1173test util-10.116 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1174 convertDouble 0x3accdc06b20ef183 1175} {1.865e-25} 1176test util-10.117 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1177 convertDouble 0xbd036071dcae4565 1178} {-8.605e-15} 1179test util-10.118 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1180 convertDouble 0x462cb968d297dde8 1181} {1.137885e+30} 1182test util-10.119 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1183 convertDouble 0xc661f3e1839eeab1 1184} {-1.137885e+31} 1185test util-10.120 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1186 convertDouble 0x474e9cec176c96f8 1187} {3.179033335e+35} 1188test util-10.121 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1189 convertDouble 0x3dbc06d366394441 1190} {2.54901016865e-11} 1191test util-10.122 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} { 1192 convertDouble 0x478f58ac4db68c90 1193} {5.20831059055e+36} 1194 1195test util-11.1 {Tcl_PrintDouble - scaling} { 1196 expr {1.1e-5} 1197} {1.1e-5} 1198test util-11.2 {Tcl_PrintDouble - scaling} { 1199 expr {1.1e-4} 1200} {0.00011} 1201test util-11.3 {Tcl_PrintDouble - scaling} { 1202 expr {1.1e-3} 1203} {0.0011} 1204test util-11.4 {Tcl_PrintDouble - scaling} { 1205 expr {1.1e-2} 1206} {0.011} 1207test util-11.5 {Tcl_PrintDouble - scaling} { 1208 expr {1.1e-1} 1209} {0.11} 1210test util-11.6 {Tcl_PrintDouble - scaling} { 1211 expr {1.1e0} 1212} {1.1} 1213test util-11.7 {Tcl_PrintDouble - scaling} { 1214 expr {1.1e1} 1215} {11.0} 1216test util-11.8 {Tcl_PrintDouble - scaling} { 1217 expr {1.1e2} 1218} {110.0} 1219test util-11.9 {Tcl_PrintDouble - scaling} { 1220 expr {1.1e3} 1221} {1100.0} 1222test util-11.10 {Tcl_PrintDouble - scaling} { 1223 expr {1.1e4} 1224} {11000.0} 1225test util-11.11 {Tcl_PrintDouble - scaling} { 1226 expr {1.1e5} 1227} {110000.0} 1228test util-11.12 {Tcl_PrintDouble - scaling} { 1229 expr {1.1e6} 1230} {1100000.0} 1231test util-11.13 {Tcl_PrintDouble - scaling} { 1232 expr {1.1e7} 1233} {11000000.0} 1234test util-11.14 {Tcl_PrintDouble - scaling} { 1235 expr {1.1e8} 1236} {110000000.0} 1237test util-11.15 {Tcl_PrintDouble - scaling} { 1238 expr {1.1e9} 1239} {1100000000.0} 1240test util-11.16 {Tcl_PrintDouble - scaling} { 1241 expr {1.1e10} 1242} {11000000000.0} 1243test util-11.17 {Tcl_PrintDouble - scaling} { 1244 expr {1.1e11} 1245} {110000000000.0} 1246test util-11.18 {Tcl_PrintDouble - scaling} { 1247 expr {1.1e12} 1248} {1100000000000.0} 1249test util-11.19 {Tcl_PrintDouble - scaling} { 1250 expr {1.1e13} 1251} {11000000000000.0} 1252test util-11.20 {Tcl_PrintDouble - scaling} { 1253 expr {1.1e14} 1254} {110000000000000.0} 1255test util-11.21 {Tcl_PrintDouble - scaling} { 1256 expr {1.1e15} 1257} {1100000000000000.0} 1258test util-11.22 {Tcl_PrintDouble - scaling} { 1259 expr {1.1e16} 1260} {11000000000000000.0} 1261test util-11.23 {Tcl_PrintDouble - scaling} { 1262 expr {1.1e17} 1263} {1.1e+17} 1264 1265test util-12.1 {TclDoubleDigits - Inf} {testdoubledigits ieeeFloatingPoint} { 1266 testdoubledigits Inf -1 shortest 1267} {Infinity 9999 +} 1268test util-12.2 {TclDoubleDigits - -Inf} {testdoubledigits ieeeFloatingPoint} { 1269 testdoubledigits -Inf -1 shortest 1270} {Infinity 9999 -} 1271test util-12.3 {TclDoubleDigits - NaN} {testdoubledigits ieeeFloatingPoint} { 1272 testdoubledigits $ieeeValues(NaN) -1 shortest 1273} {NaN 9999 +} 1274test util-12.4 {TclDoubleDigits - NaN} {*}{ 1275 -constraints {testdoubledigits ieeeFloatingPoint controversialNaN} 1276 -body { 1277 testdoubledigits -NaN -1 shortest 1278 } 1279 -result {NaN 9999 -} 1280} 1281test util-12.5 {TclDoubleDigits - 0} testdoubledigits { 1282 testdoubledigits 0.0 -1 shortest 1283} {0 0 +} 1284test util-12.6 {TclDoubleDigits - -0} testdoubledigits { 1285 testdoubledigits -0.0 -1 shortest 1286} {0 0 -} 1287 1288# Verdonk test vectors 1289 1290test util-13.1 {just over exact - 1 digits} {*}{ 1291 -constraints testdoubledigits 1292 -body { 1293 verdonk_test 1754e31cd072da E+1008 +4_000000000000000000& E+303 1294 } 1295 -result {} 1296} 1297test util-13.2 {just over exact - 1 digits} {*}{ 1298 -constraints testdoubledigits 1299 -body { 1300 verdonk_test -1afcef51f0fb5f E+265 -1_000000000000000000& E+80 1301 } 1302 -result {} 1303} 1304test util-13.3 {just over exact - 1 digits} {*}{ 1305 -constraints testdoubledigits 1306 -body { 1307 verdonk_test 1754e31cd072da E+1006 +1_000000000000000000& E+303 1308 } 1309 -result {} 1310} 1311test util-13.4 {just over exact - 1 digits} {*}{ 1312 -constraints testdoubledigits 1313 -body { 1314 verdonk_test -1754e31cd072da E+1007 -2_000000000000000000& E+303 1315 } 1316 -result {} 1317} 1318test util-13.5 {just over exact - 1 digits} {*}{ 1319 -constraints testdoubledigits 1320 -body { 1321 verdonk_test 1e07b27dd78b14 E-848 +1_00000000000000000& E-255 1322 } 1323 -result {} 1324} 1325test util-13.6 {just over exact - 1 digits} {*}{ 1326 -constraints testdoubledigits 1327 -body { 1328 verdonk_test -1e29e9c56687fe E-709 -7_00000000000000000& E-214 1329 } 1330 -result {} 1331} 1332test util-13.7 {just over exact - 1 digits} {*}{ 1333 -constraints testdoubledigits 1334 -body { 1335 verdonk_test 1be03d0bf225c7 E-137 +1_00000000000000000& E-41 1336 } 1337 -result {} 1338} 1339test util-13.8 {just over exact - 1 digits} {*}{ 1340 -constraints testdoubledigits 1341 -body { 1342 verdonk_test -1a2fe76a3f9475 E-499 -1_00000000000000000& E-150 1343 } 1344 -result {} 1345} 1346test util-13.9 {just under exact - 1 digits} {*}{ 1347 -constraints testdoubledigits 1348 -body { 1349 verdonk_test 19a2028368022e E+1019 +8_999999999999999999& E+306 1350 } 1351 -result {} 1352} 1353test util-13.10 {just under exact - 1 digits} {*}{ 1354 -constraints testdoubledigits 1355 -body { 1356 verdonk_test -1317e5ef3ab327 E+509 -1_999999999999999999& E+153 1357 } 1358 -result {} 1359} 1360test util-13.11 {just under exact - 1 digits} {*}{ 1361 -constraints testdoubledigits 1362 -body { 1363 verdonk_test 1317e5ef3ab327 E+510 +3_99999999999999999& E+153 1364 } 1365 -result {} 1366} 1367test util-13.12 {just under exact - 1 digits} {*}{ 1368 -constraints testdoubledigits 1369 -body { 1370 verdonk_test -1317e5ef3ab327 E+511 -7_99999999999999999& E+153 1371 } 1372 -result {} 1373} 1374test util-13.13 {just under exact - 1 digits} {*}{ 1375 -constraints testdoubledigits 1376 -body { 1377 verdonk_test 1eb8e84fa0b278 E-1008 +6_999999999999999999& E-304 1378 } 1379 -result {} 1380} 1381test util-13.14 {just under exact - 1 digits} {*}{ 1382 -constraints testdoubledigits 1383 -body { 1384 verdonk_test -13339131c46f8b E-1004 -6_999999999999999999& E-303 1385 } 1386 -result {} 1387} 1388test util-13.15 {just under exact - 1 digits} {*}{ 1389 -constraints testdoubledigits 1390 -body { 1391 verdonk_test 1c0f92a6276c9d E-162 +2_999999999999999999& E-49 1392 } 1393 -result {} 1394} 1395test util-13.16 {just under exact - 1 digits} {*}{ 1396 -constraints testdoubledigits 1397 -body { 1398 verdonk_test -15ce1f143d7ad2 E-443 -5_99999999999999999& E-134 1399 } 1400 -result {} 1401} 1402test util-13.17 {just over exact - 2 digits} {*}{ 1403 -constraints testdoubledigits 1404 -body { 1405 verdonk_test 1c0794d9d40e96 E-301 +43_000000000000000000& E-92 1406 } 1407 -result {} 1408} 1409test util-13.18 {just over exact - 2 digits} {*}{ 1410 -constraints testdoubledigits 1411 -body { 1412 verdonk_test -1c0794d9d40e96 E-300 -86_000000000000000000& E-92 1413 } 1414 -result {} 1415} 1416test util-13.19 {just over exact - 2 digits} {*}{ 1417 -constraints testdoubledigits 1418 -body { 1419 verdonk_test 1cd5bee57763e6 E-241 +51_000000000000000000& E-74 1420 } 1421 -result {} 1422} 1423test util-13.20 {just under exact - 2 digits} {*}{ 1424 -constraints testdoubledigits 1425 -body { 1426 verdonk_test 1d1c26db7d0dae E+651 +16_999999999999999999& E+195 1427 } 1428 -result {} 1429} 1430test util-13.21 {just under exact - 2 digits} {*}{ 1431 -constraints testdoubledigits 1432 -body { 1433 verdonk_test -13f7ced916872b E-5 -38_999999999999999999& E-3 1434 } 1435 -result {} 1436} 1437test util-13.22 {just over exact - 3 digits} {*}{ 1438 -constraints testdoubledigits 1439 -body { 1440 verdonk_test 17d93193f78fc6 E+588 +151_0000000000000000000& E+175 1441 } 1442 -result {} 1443} 1444test util-13.23 {just over exact - 3 digits} {*}{ 1445 -constraints testdoubledigits 1446 -body { 1447 verdonk_test -1a82a1631eeb30 E-625 -119_000000000000000000& E-190 1448 } 1449 -result {} 1450} 1451test util-13.24 {just under exact - 3 digits} {*}{ 1452 -constraints testdoubledigits 1453 -body { 1454 verdonk_test -16c309024bab4b E+290 -282_999999999999999999& E+85 1455 } 1456 -result {} 1457} 1458test util-13.25 {just over exact - 8 digits} {*}{ 1459 -constraints testdoubledigits 1460 -body { 1461 verdonk_test 1dbbac6f83a821 E-800 +27869147_0000000000000000000& E-248 1462 } 1463 -result {} 1464} 1465test util-13.26 {just under exact - 9 digits} {*}{ 1466 -constraints testdoubledigits 1467 -body { 1468 verdonk_test -1c569e968e0944 E+430 -491080653_9999999999999999999& E+121 1469 } 1470 -result {} 1471} 1472test util-13.27 {just under exact - 9 digits} {*}{ 1473 -constraints testdoubledigits 1474 -body { 1475 verdonk_test 1c569e968e0944 E+429 +245540326_9999999999999999999& E+121 1476 } 1477 -result {} 1478} 1479test util-13.28 {just over exact - 10 digits} {*}{ 1480 -constraints testdoubledigits 1481 -body { 1482 verdonk_test -1fc575867314ee E-330 -9078555839_0000000000000000000& E-109 1483 } 1484 -result {} 1485} 1486test util-13.29 {just under exact - 10 digits} {*}{ 1487 -constraints testdoubledigits 1488 -body { 1489 verdonk_test -1c569e968e0944 E+428 -1227701634_9999999999999999999& E+120 1490 } 1491 -result {} 1492} 1493test util-13.30 {just over exact - 11 digits} {*}{ 1494 -constraints testdoubledigits 1495 -body { 1496 verdonk_test 1fc575867314ee E-329 +18157111678_0000000000000000000& E-109 1497 } 1498 -result {} 1499} 1500test util-13.31 {just over exact - 14 digits} {*}{ 1501 -constraints testdoubledigits 1502 -body { 1503 verdonk_test -18bf7e7fa6f02a E-196 -15400733123779_0000000000000000000& E-72 1504 } 1505 -result {} 1506} 1507test util-13.32 {just over exact - 17 digits} {*}{ 1508 -constraints testdoubledigits 1509 -body { 1510 verdonk_test -13de005bd620df E+217 -26153245263757307_0000000000000000000& E+49 1511 } 1512 -result {} 1513} 1514test util-13.33 {just over exact - 18 digits} {*}{ 1515 -constraints testdoubledigits 1516 -body { 1517 verdonk_test 1f92bacb3cb40c E+718 +272104041512242479_0000000000000000000& E+199 1518 } 1519 -result {} 1520} 1521test util-13.34 {just over exact - 18 digits} {*}{ 1522 -constraints testdoubledigits 1523 -body { 1524 verdonk_test -1f92bacb3cb40c E+719 -544208083024484958_0000000000000000000& E+199 1525 } 1526 -result {} 1527} 1528test util-13.35 {just over half ulp - 1 digits} {*}{ 1529 -constraints testdoubledigits 1530 -body { 1531 verdonk_test 142dbf25096cf5 E+148 +4_500000000000000000& E+44 1532 } 1533 -result {} 1534} 1535test util-13.36 {just over half ulp - 1 digits} {*}{ 1536 -constraints testdoubledigits 1537 -body { 1538 verdonk_test -1afcef51f0fb5f E+263 -2_500000000000000000& E+79 1539 } 1540 -result {} 1541} 1542test util-13.37 {just over half ulp - 1 digits} {*}{ 1543 -constraints testdoubledigits 1544 -body { 1545 verdonk_test 102498ea6df0c4 E+145 +4_500000000000000000& E+43 1546 } 1547 -result {} 1548} 1549test util-13.38 {just over half ulp - 1 digits} {*}{ 1550 -constraints testdoubledigits 1551 -body { 1552 verdonk_test -1754e31cd072da E+1004 -2_500000000000000000& E+302 1553 } 1554 -result {} 1555} 1556test util-13.39 {just over half ulp - 1 digits} {*}{ 1557 -constraints testdoubledigits 1558 -body { 1559 verdonk_test 12deac01e2b4f7 E-557 +2_50000000000000000& E-168 1560 } 1561 -result {} 1562} 1563test util-13.40 {just over half ulp - 1 digits} {*}{ 1564 -constraints testdoubledigits 1565 -body { 1566 verdonk_test -1b1df536c13eee E-307 -6_50000000000000000& E-93 1567 } 1568 -result {} 1569} 1570test util-13.41 {just over half ulp - 1 digits} {*}{ 1571 -constraints testdoubledigits 1572 -body { 1573 verdonk_test 10711fed5b19a4 E-154 +4_50000000000000000& E-47 1574 } 1575 -result {} 1576} 1577test util-13.42 {just over half ulp - 1 digits} {*}{ 1578 -constraints testdoubledigits 1579 -body { 1580 verdonk_test -148d67e8b1e00d E-151 -4_50000000000000000& E-46 1581 } 1582 -result {} 1583} 1584test util-13.43 {just under half ulp - 1 digits} {*}{ 1585 -constraints testdoubledigits 1586 -body { 1587 verdonk_test 1c8c574c0c6be7 E+187 +3_49999999999999999& E+56 1588 } 1589 -result {} 1590} 1591test util-13.44 {just under half ulp - 1 digits} {*}{ 1592 -constraints testdoubledigits 1593 -body { 1594 verdonk_test -1756183c147514 E+206 -1_49999999999999999& E+62 1595 } 1596 -result {} 1597} 1598test util-13.45 {just under half ulp - 1 digits} {*}{ 1599 -constraints testdoubledigits 1600 -body { 1601 verdonk_test 12ab469676c410 E+203 +1_49999999999999999& E+61 1602 } 1603 -result {} 1604} 1605test util-13.46 {just under half ulp - 1 digits} {*}{ 1606 -constraints testdoubledigits 1607 -body { 1608 verdonk_test -1539684e774b48 E+246 -1_49999999999999999& E+74 1609 } 1610 -result {} 1611} 1612test util-13.47 {just under half ulp - 1 digits} {*}{ 1613 -constraints testdoubledigits 1614 -body { 1615 verdonk_test 12e5f5dfa4fe9d E-286 +9_499999999999999999& E-87 1616 } 1617 -result {} 1618} 1619test util-13.48 {just under half ulp - 1 digits} {*}{ 1620 -constraints testdoubledigits 1621 -body { 1622 verdonk_test -1bdc2417bf7787 E-838 -9_499999999999999999& E-253 1623 } 1624 -result {} 1625} 1626test util-13.49 {just under half ulp - 1 digits} {*}{ 1627 -constraints testdoubledigits 1628 -body { 1629 verdonk_test 1eb8e84fa0b278 E-1009 +3_499999999999999999& E-304 1630 } 1631 -result {} 1632} 1633test util-13.50 {just under half ulp - 1 digits} {*}{ 1634 -constraints testdoubledigits 1635 -body { 1636 verdonk_test -1e3cbc9907fdc8 E-290 -9_499999999999999999& E-88 1637 } 1638 -result {} 1639} 1640test util-13.51 {just over half ulp - 2 digits} {*}{ 1641 -constraints testdoubledigits 1642 -body { 1643 verdonk_test 10ad836f269a17 E-324 +30_500000000000000000& E-99 1644 } 1645 -result {} 1646} 1647test util-13.52 {just over half ulp - 2 digits} {*}{ 1648 -constraints testdoubledigits 1649 -body { 1650 verdonk_test -1b39ae1909c31b E-687 -26_500000000000000000& E-208 1651 } 1652 -result {} 1653} 1654test util-13.53 {just over half ulp - 3 digits} {*}{ 1655 -constraints testdoubledigits 1656 -body { 1657 verdonk_test 1b2ab18615fcc6 E-576 +686_500000000000000000& E-176 1658 } 1659 -result {} 1660} 1661test util-13.54 {just over half ulp - 3 digits} {*}{ 1662 -constraints testdoubledigits 1663 -body { 1664 verdonk_test -13e1f90a573064 E-624 -178_500000000000000000& E-190 1665 } 1666 -result {} 1667} 1668test util-13.55 {just under half ulp - 3 digits} {*}{ 1669 -constraints testdoubledigits 1670 -body { 1671 verdonk_test 16c309024bab4b E+289 +141_499999999999999999& E+85 1672 } 1673 -result {} 1674} 1675test util-13.56 {just under half ulp - 4 digits} {*}{ 1676 -constraints testdoubledigits 1677 -body { 1678 verdonk_test -159bd3ad46e346 E+193 -1695_499999999999999999& E+55 1679 } 1680 -result {} 1681} 1682test util-13.57 {just under half ulp - 4 digits} {*}{ 1683 -constraints testdoubledigits 1684 -body { 1685 verdonk_test 1df4170f0fdecc E+124 +3981_499999999999999999& E+34 1686 } 1687 -result {} 1688} 1689test util-13.58 {just over half ulp - 6 digits} {*}{ 1690 -constraints testdoubledigits 1691 -body { 1692 verdonk_test 17e1e0f1c7a4ac E+415 +126300_5000000000000000000& E+120 1693 } 1694 -result {} 1695} 1696test util-13.59 {just over half ulp - 6 digits} {*}{ 1697 -constraints testdoubledigits 1698 -body { 1699 verdonk_test -1dda592e398dd7 E+418 -126300_5000000000000000000& E+121 1700 } 1701 -result {} 1702} 1703test util-13.60 {just under half ulp - 7 digits} {*}{ 1704 -constraints testdoubledigits 1705 -body { 1706 verdonk_test -1e597c0b94b7ae E+453 -4411845_499999999999999999& E+130 1707 } 1708 -result {} 1709} 1710test util-13.61 {just under half ulp - 9 digits} {*}{ 1711 -constraints testdoubledigits 1712 -body { 1713 verdonk_test 1c569e968e0944 E+427 +613850817_4999999999999999999& E+120 1714 } 1715 -result {} 1716} 1717test util-13.62 {just under half ulp - 9 digits} {*}{ 1718 -constraints testdoubledigits 1719 -body { 1720 verdonk_test -1c569e968e0944 E+428 -122770163_49999999999999999999& E+121 1721 } 1722 -result {} 1723} 1724test util-13.63 {just over half ulp - 18 digits} {*}{ 1725 -constraints testdoubledigits 1726 -body { 1727 verdonk_test 17ae0c186d8709 E+719 +408156062268363718_5000000000000000000& E+199 1728 } 1729 -result {} 1730} 1731test util-13.64 {just over exact - 1 digits} {*}{ 1732 -constraints testdoubledigits 1733 -body { 1734 verdonk_test 152d02c7e14af7 E+76 +1_0000000000000000& E+23 1735 } 1736 -result {} 1737} 1738test util-13.65 {just over exact - 1 digits} {*}{ 1739 -constraints testdoubledigits 1740 -body { 1741 verdonk_test -19d971e4fe8402 E+89 -1_0000000000000000& E+27 1742 } 1743 -result {} 1744} 1745test util-13.66 {just over exact - 1 digits} {*}{ 1746 -constraints testdoubledigits 1747 -body { 1748 verdonk_test 19d971e4fe8402 E+90 +2_0000000000000000& E+27 1749 } 1750 -result {} 1751} 1752test util-13.67 {just over exact - 1 digits} {*}{ 1753 -constraints testdoubledigits 1754 -body { 1755 verdonk_test -19d971e4fe8402 E+91 -4_0000000000000000& E+27 1756 } 1757 -result {} 1758} 1759test util-13.68 {just over exact - 1 digits} {*}{ 1760 -constraints testdoubledigits 1761 -body { 1762 verdonk_test 15798ee2308c3a E-27 +1_0000000000000000& E-8 1763 } 1764 -result {} 1765} 1766test util-13.69 {just over exact - 1 digits} {*}{ 1767 -constraints testdoubledigits 1768 -body { 1769 verdonk_test -15798ee2308c3a E-26 -2_0000000000000000& E-8 1770 } 1771 -result {} 1772} 1773test util-13.70 {just over exact - 1 digits} {*}{ 1774 -constraints testdoubledigits 1775 -body { 1776 verdonk_test 15798ee2308c3a E-25 +4_0000000000000000& E-8 1777 } 1778 -result {} 1779} 1780test util-13.71 {just over exact - 1 digits} {*}{ 1781 -constraints testdoubledigits 1782 -body { 1783 verdonk_test -1ef2d0f5da7dd9 E-84 -1_0000000000000000& E-25 1784 } 1785 -result {} 1786} 1787test util-13.72 {just under exact - 1 digits} {*}{ 1788 -constraints testdoubledigits 1789 -body { 1790 verdonk_test 1a784379d99db4 E+78 +4_9999999999999999& E+23 1791 } 1792 -result {} 1793} 1794test util-13.73 {just under exact - 1 digits} {*}{ 1795 -constraints testdoubledigits 1796 -body { 1797 verdonk_test -1a784379d99db4 E+80 -1_9999999999999999& E+24 1798 } 1799 -result {} 1800} 1801test util-13.74 {just under exact - 1 digits} {*}{ 1802 -constraints testdoubledigits 1803 -body { 1804 verdonk_test 13da329b633647 E+81 +2_9999999999999999& E+24 1805 } 1806 -result {} 1807} 1808test util-13.75 {just under exact - 1 digits} {*}{ 1809 -constraints testdoubledigits 1810 -body { 1811 verdonk_test -1cf389cd46047d E+85 -6_9999999999999999& E+25 1812 } 1813 -result {} 1814} 1815test util-13.76 {just under exact - 1 digits} {*}{ 1816 -constraints testdoubledigits 1817 -body { 1818 verdonk_test 19999999999999 E-3 +1_99999999999999999& E-1 1819 } 1820 -result {} 1821} 1822test util-13.77 {just under exact - 1 digits} {*}{ 1823 -constraints testdoubledigits 1824 -body { 1825 verdonk_test -13333333333333 E-2 -2_99999999999999999& E-1 1826 } 1827 -result {} 1828} 1829test util-13.78 {just under exact - 1 digits} {*}{ 1830 -constraints testdoubledigits 1831 -body { 1832 verdonk_test 16849b86a12b9b E-48 +4_99999999999999999& E-15 1833 } 1834 -result {} 1835} 1836test util-13.79 {just under exact - 1 digits} {*}{ 1837 -constraints testdoubledigits 1838 -body { 1839 verdonk_test -16849b86a12b9b E-46 -1_99999999999999999& E-14 1840 } 1841 -result {} 1842} 1843test util-13.80 {just over exact - 2 digits} {*}{ 1844 -constraints testdoubledigits 1845 -body { 1846 verdonk_test 17ccfc73126788 E-71 +63_00000000000000000& E-23 1847 } 1848 -result {} 1849} 1850test util-13.81 {just over exact - 2 digits} {*}{ 1851 -constraints testdoubledigits 1852 -body { 1853 verdonk_test -1dc03b8fd7016a E-68 -63_00000000000000000& E-22 1854 } 1855 -result {} 1856} 1857test util-13.82 {just under exact - 2 digits} {*}{ 1858 -constraints testdoubledigits 1859 -body { 1860 verdonk_test 13f7ced916872b E-5 +38_999999999999999999& E-3 1861 } 1862 -result {} 1863} 1864test util-13.83 {just over exact - 3 digits} {*}{ 1865 -constraints testdoubledigits 1866 -body { 1867 verdonk_test 1b297cad9f70b6 E+97 +269_000000000000000000& E+27 1868 } 1869 -result {} 1870} 1871test util-13.84 {just over exact - 3 digits} {*}{ 1872 -constraints testdoubledigits 1873 -body { 1874 verdonk_test -1b297cad9f70b6 E+98 -538_00000000000000000& E+27 1875 } 1876 -result {} 1877} 1878test util-13.85 {just over exact - 3 digits} {*}{ 1879 -constraints testdoubledigits 1880 -body { 1881 verdonk_test 1cdc06b20ef183 E-82 +373_00000000000000000& E-27 1882 } 1883 -result {} 1884} 1885test util-13.86 {just over exact - 4 digits} {*}{ 1886 -constraints testdoubledigits 1887 -body { 1888 verdonk_test 1b297cad9f70b6 E+96 +1345_00000000000000000& E+26 1889 } 1890 -result {} 1891} 1892# this one is not 4 digits, it is 3, and it is covered above. 1893test util-13.87 {just over exact - 4 digits} {*}{ 1894 -constraints {testdoubledigits knownBadTest} 1895 -body { 1896 verdonk_test -1b297cad9f70b6 E+97 -2690_00000000000000000& E+26 1897 } 1898 -result {} 1899} 1900test util-13.88 {just over exact - 5 digits} {*}{ 1901 -constraints testdoubledigits 1902 -body { 1903 verdonk_test -150a246ecd44f3 E-63 -14257_00000000000000000& E-23 1904 } 1905 -result {} 1906} 1907test util-13.89 {just under exact - 6 digits} {*}{ 1908 -constraints testdoubledigits 1909 -body { 1910 verdonk_test -119b96f36ec68b E-19 -209900_999999999999999999& E-11 1911 } 1912 -result {} 1913} 1914test util-13.90 {just over exact - 11 digits} {*}{ 1915 -constraints testdoubledigits 1916 -body { 1917 verdonk_test 1c06d366394441 E-35 +50980203373_000000000000000000& E-21 1918 } 1919 -result {} 1920} 1921test util-13.91 {just under exact - 12 digits} {*}{ 1922 -constraints testdoubledigits 1923 -body { 1924 verdonk_test -1f58ac4db68c90 E+122 -104166211810_99999999999999999& E+26 1925 } 1926 -result {} 1927} 1928test util-13.92 {just over half ulp - 1 digits} {*}{ 1929 -constraints testdoubledigits 1930 -body { 1931 verdonk_test 19d971e4fe8402 E+87 +2_5000000000000000& E+26 1932 } 1933 -result {} 1934} 1935test util-13.93 {just over half ulp - 1 digits} {*}{ 1936 -constraints testdoubledigits 1937 -body { 1938 verdonk_test -1dc74be914d16b E+81 -4_500000000000000& E+24 1939 } 1940 -result {} 1941} 1942test util-13.94 {just over half ulp - 1 digits} {*}{ 1943 -constraints testdoubledigits 1944 -body { 1945 verdonk_test 14adf4b7320335 E+84 +2_500000000000000& E+25 1946 } 1947 -result {} 1948} 1949test util-13.95 {just over half ulp - 1 digits} {*}{ 1950 -constraints testdoubledigits 1951 -body { 1952 verdonk_test -1ae22487c1042b E+85 -6_5000000000000000& E+25 1953 } 1954 -result {} 1955} 1956test util-13.96 {just over half ulp - 1 digits} {*}{ 1957 -constraints testdoubledigits 1958 -body { 1959 verdonk_test 187fe49aab41e0 E-54 +8_5000000000000000& E-17 1960 } 1961 -result {} 1962} 1963test util-13.97 {just over half ulp - 1 digits} {*}{ 1964 -constraints testdoubledigits 1965 -body { 1966 verdonk_test -1f5c05e4b23fd7 E-61 -8_5000000000000000& E-19 1967 } 1968 -result {} 1969} 1970test util-13.98 {just over half ulp - 1 digits} {*}{ 1971 -constraints testdoubledigits 1972 -body { 1973 verdonk_test 1faa7ab552a552 E-42 +4_5000000000000000& E-13 1974 } 1975 -result {} 1976} 1977test util-13.99 {just over half ulp - 1 digits} {*}{ 1978 -constraints testdoubledigits 1979 -body { 1980 verdonk_test -1b7cdfd9d7bdbb E-36 -2_5000000000000000& E-11 1981 } 1982 -result {} 1983} 1984test util-13.100 {just under half ulp - 1 digits} {*}{ 1985 -constraints testdoubledigits 1986 -body { 1987 verdonk_test 13da329b633647 E+80 +1_4999999999999999& E+24 1988 } 1989 -result {} 1990} 1991test util-13.101 {just under half ulp - 1 digits} {*}{ 1992 -constraints testdoubledigits 1993 -body { 1994 verdonk_test -1cf389cd46047d E+84 -3_49999999999999999& E+25 1995 } 1996 -result {} 1997} 1998test util-13.102 {just under half ulp - 1 digits} {*}{ 1999 -constraints testdoubledigits 2000 -body { 2001 verdonk_test 1f04ef12cb04cf E+85 +7_4999999999999999& E+25 2002 } 2003 -result {} 2004} 2005test util-13.103 {just under half ulp - 1 digits} {*}{ 2006 -constraints testdoubledigits 2007 -body { 2008 verdonk_test -1f04ef12cb04cf E+86 -1_4999999999999999& E+26 2009 } 2010 -result {} 2011} 2012test util-13.104 {just under half ulp - 1 digits} {*}{ 2013 -constraints testdoubledigits 2014 -body { 2015 verdonk_test 13333333333333 E-3 +1_49999999999999999& E-1 2016 } 2017 -result {} 2018} 2019test util-13.105 {just under half ulp - 1 digits} {*}{ 2020 -constraints testdoubledigits 2021 -body { 2022 verdonk_test -107e1fe91b0b70 E-36 -1_49999999999999999& E-11 2023 } 2024 -result {} 2025} 2026test util-13.106 {just under half ulp - 1 digits} {*}{ 2027 -constraints testdoubledigits 2028 -body { 2029 verdonk_test 149da7e361ce4c E-33 +1_49999999999999999& E-10 2030 } 2031 -result {} 2032} 2033test util-13.107 {just under half ulp - 1 digits} {*}{ 2034 -constraints testdoubledigits 2035 -body { 2036 verdonk_test -19c511dc3a41df E-30 -1_49999999999999999& E-9 2037 } 2038 -result {} 2039} 2040test util-13.108 {just over half ulp - 2 digits} {*}{ 2041 -constraints testdoubledigits 2042 -body { 2043 verdonk_test -1aa83d74267822 E+93 -16_5000000000000000& E+27 2044 } 2045 -result {} 2046} 2047test util-13.109 {just over half ulp - 2 digits} {*}{ 2048 -constraints testdoubledigits 2049 -body { 2050 verdonk_test 18f1d5969453de E+89 +96_5000000000000000& E+25 2051 } 2052 -result {} 2053} 2054test util-13.110 {just over half ulp - 2 digits} {*}{ 2055 -constraints testdoubledigits 2056 -body { 2057 verdonk_test 11d9bd564dcda6 E-70 +94_50000000000000000& E-23 2058 } 2059 -result {} 2060} 2061test util-13.111 {just over half ulp - 2 digits} {*}{ 2062 -constraints testdoubledigits 2063 -body { 2064 verdonk_test -1a58973ecbede6 E-48 -58_50000000000000000& E-16 2065 } 2066 -result {} 2067} 2068test util-13.112 {just over half ulp - 3 digits} {*}{ 2069 -constraints testdoubledigits 2070 -body { 2071 verdonk_test 1b297cad9f70b6 E+95 +672_50000000000000000& E+26 2072 } 2073 -result {} 2074} 2075test util-13.113 {just over half ulp - 3 digits} {*}{ 2076 -constraints testdoubledigits 2077 -body { 2078 verdonk_test -1b297cad9f70b6 E+96 -134_500000000000000000& E+27 2079 } 2080 -result {} 2081} 2082test util-13.114 {just over half ulp - 3 digits} {*}{ 2083 -constraints testdoubledigits 2084 -body { 2085 verdonk_test 1cdc06b20ef183 E-83 +186_50000000000000000& E-27 2086 } 2087 -result {} 2088} 2089test util-13.115 {just over half ulp - 3 digits} {*}{ 2090 -constraints testdoubledigits 2091 -body { 2092 verdonk_test -136071dcae4565 E-47 -860_50000000000000000& E-17 2093 } 2094 -result {} 2095} 2096test util-13.116 {just over half ulp - 6 digits} {*}{ 2097 -constraints testdoubledigits 2098 -body { 2099 verdonk_test 1cb968d297dde8 E+99 +113788_50000000000000000& E+25 2100 } 2101 -result {} 2102} 2103test util-13.117 {just over half ulp - 6 digits} {*}{ 2104 -constraints testdoubledigits 2105 -body { 2106 verdonk_test -11f3e1839eeab1 E+103 -113788_50000000000000000& E+26 2107 } 2108 -result {} 2109} 2110test util-13.118 {just under half ulp - 9 digits} {*}{ 2111 -constraints testdoubledigits 2112 -body { 2113 verdonk_test 1e9cec176c96f8 E+117 +317903333_49999999999999999& E+27 2114 } 2115 -result {} 2116} 2117test util-13.119 {just over half ulp - 11 digits} {*}{ 2118 -constraints testdoubledigits 2119 -body { 2120 verdonk_test 1c06d366394441 E-36 +25490101686_500000000000000000& E-21 2121 } 2122 -result {} 2123} 2124test util-13.120 {just under half ulp - 11 digits} {*}{ 2125 -constraints testdoubledigits 2126 -body { 2127 verdonk_test 1f58ac4db68c90 E+121 +52083105905_49999999999999999& E+26 2128 } 2129 -result {} 2130} 2131 2132test util-14.1 {funky NaN} {*}{ 2133 -constraints {ieeeFloatingPoint controversialNaN} 2134 -body { 2135 set ieeeValues(-NaN) 2136 } 2137 -result -NaN 2138} 2139 2140test util-14.2 {funky NaN} {*}{ 2141 -constraints {ieeeFloatingPoint controversialNaN} 2142 -body { 2143 set ieeeValues(-NaN(3456789abcdef)) 2144 } 2145 -result -NaN(3456789abcdef) 2146} 2147 2148test util-15.1 {largest subnormal} {*}{ 2149 -body { 2150 binary scan [binary format w 0x000fffffffffffff] q x 2151 set x 2152 } 2153 -result 2.225073858507201e-308 2154 -cleanup { 2155 unset x 2156 } 2157} 2158 2159test util-15.2 {largest subnormal} {*}{ 2160 -body { 2161 binary scan [binary format w 0x800fffffffffffff] q x 2162 set x 2163 } 2164 -result -2.225073858507201e-308 2165 -cleanup { 2166 unset x 2167 } 2168} 2169 2170test util-15.3 {largest subnormal} {*}{ 2171 -body { 2172 binary scan [binary format q 2.225073858507201e-308] w x 2173 format %#lx $x 2174 } 2175 -result 0xfffffffffffff 2176 -cleanup { 2177 unset x 2178 } 2179} 2180 2181test util-15.4 {largest subnormal} {*}{ 2182 -body { 2183 binary scan [binary format q -2.225073858507201e-308] w x 2184 format %#lx $x 2185 } 2186 -result 0x800fffffffffffff 2187 -cleanup { 2188 unset x 2189 } 2190} 2191 2192test util-15.5 {smallest normal} {*}{ 2193 -body { 2194 binary scan [binary format w 0x0010000000000000] q x 2195 set x 2196 } 2197 -result 2.2250738585072014e-308 2198 -cleanup { 2199 unset x 2200 } 2201} 2202 2203test util-15.6 {smallest normal} {*}{ 2204 -body { 2205 binary scan [binary format w 0x8010000000000000] q x 2206 set x 2207 } 2208 -result -2.2250738585072014e-308 2209 -cleanup { 2210 unset x 2211 } 2212} 2213 2214test util-15.7 {smallest normal} {*}{ 2215 -body { 2216 binary scan [binary format q 2.2250738585072014e-308] w x 2217 format %#lx $x 2218 } 2219 -result 0x10000000000000 2220 -cleanup { 2221 unset x 2222 } 2223} 2224 2225test util-15.8 {smallest normal} {*}{ 2226 -body { 2227 binary scan [binary format q -2.2250738585072014e-308] w x 2228 format %#lx $x 2229 } 2230 -result 0x8010000000000000 2231 -cleanup { 2232 unset x 2233 } 2234} 2235 2236foreach ::tcl_precision {0 12} { 2237 for {set e -312} {$e < -9} {incr e} { 2238 test util-16.1.$::tcl_precision.$e {shortening of numbers} \ 2239 "expr {1.1e$e}" 1.1e$e 2240 } 2241} 2242set tcl_precision 0 2243for {set e -9} {$e < -4} {incr e} { 2244 test util-16.1.$::tcl_precision.$e {shortening of numbers} \ 2245 "expr {1.1e$e}" 1.1e$e 2246} 2247set tcl_precision 12 2248for {set e -9} {$e < -4} {incr e} { 2249 test util-16.1.$::tcl_precision.$e {8.4 compatible formatting of doubles} precision \ 2250 "expr {1.1e$e}" 1.1e[format %+03d $e] 2251} 2252foreach ::tcl_precision {0 12} { 2253 test util-16.1.$::tcl_precision.-4 {shortening of numbers} \ 2254 {expr {1.1e-4}} \ 2255 0.00011 2256 test util-16.1.$::tcl_precision.-3 {shortening of numbers} \ 2257 {expr {1.1e-3}} \ 2258 0.0011 2259 test util-16.1.$::tcl_precision.-2 {shortening of numbers} \ 2260 {expr {1.1e-2}} \ 2261 0.011 2262 test util-16.1.$::tcl_precision.-1 {shortening of numbers} \ 2263 {expr {1.1e-1}} \ 2264 0.11 2265 test util-16.1.$::tcl_precision.0 {shortening of numbers} \ 2266 {expr {1.1}} \ 2267 1.1 2268 for {set e 1} {$e < 17} {incr e} { 2269 test util-16.1.$::tcl_precision.$e {shortening of numbers} \ 2270 "expr {11[string repeat 0 [expr {$e-1}]].0}" \ 2271 11[string repeat 0 [expr {$e-1}]].0 2272 } 2273 for {set e 17} {$e < 309} {incr e} { 2274 test util-16.1.$::tcl_precision.$e {shortening of numbers} \ 2275 "expr {1.1e$e}" 1.1e+$e 2276 } 2277} 2278set tcl_precision 17 2279test util-16.1.17.-300 {8.4 compatible formatting of doubles} precision \ 2280 {expr {1e-300}} \ 2281 1e-300 2282test util-16.1.17.-299 {8.4 compatible formatting of doubles} precision \ 2283 {expr {1e-299}} \ 2284 9.9999999999999999e-300 2285test util-16.1.17.-298 {8.4 compatible formatting of doubles} precision \ 2286 {expr {1e-298}} \ 2287 9.9999999999999991e-299 2288test util-16.1.17.-297 {8.4 compatible formatting of doubles} precision \ 2289 {expr {1e-297}} \ 2290 1e-297 2291test util-16.1.17.-296 {8.4 compatible formatting of doubles} precision \ 2292 {expr {1e-296}} \ 2293 1e-296 2294test util-16.1.17.-295 {8.4 compatible formatting of doubles} precision \ 2295 {expr {1e-295}} \ 2296 1.0000000000000001e-295 2297test util-16.1.17.-294 {8.4 compatible formatting of doubles} precision \ 2298 {expr {1e-294}} \ 2299 1e-294 2300test util-16.1.17.-293 {8.4 compatible formatting of doubles} precision \ 2301 {expr {1e-293}} \ 2302 1.0000000000000001e-293 2303test util-16.1.17.-292 {8.4 compatible formatting of doubles} precision \ 2304 {expr {1e-292}} \ 2305 1.0000000000000001e-292 2306test util-16.1.17.-291 {8.4 compatible formatting of doubles} precision \ 2307 {expr {1e-291}} \ 2308 9.9999999999999996e-292 2309test util-16.1.17.-290 {8.4 compatible formatting of doubles} precision \ 2310 {expr {1e-290}} \ 2311 1.0000000000000001e-290 2312test util-16.1.17.-289 {8.4 compatible formatting of doubles} precision \ 2313 {expr {1e-289}} \ 2314 1e-289 2315test util-16.1.17.-288 {8.4 compatible formatting of doubles} precision \ 2316 {expr {1e-288}} \ 2317 1.0000000000000001e-288 2318test util-16.1.17.-287 {8.4 compatible formatting of doubles} precision \ 2319 {expr {1e-287}} \ 2320 1e-287 2321test util-16.1.17.-286 {8.4 compatible formatting of doubles} precision \ 2322 {expr {1e-286}} \ 2323 1.0000000000000001e-286 2324test util-16.1.17.-285 {8.4 compatible formatting of doubles} precision \ 2325 {expr {1e-285}} \ 2326 1.0000000000000001e-285 2327test util-16.1.17.-284 {8.4 compatible formatting of doubles} precision \ 2328 {expr {1e-284}} \ 2329 1e-284 2330test util-16.1.17.-283 {8.4 compatible formatting of doubles} precision \ 2331 {expr {1e-283}} \ 2332 9.9999999999999995e-284 2333test util-16.1.17.-282 {8.4 compatible formatting of doubles} precision \ 2334 {expr {1e-282}} \ 2335 1e-282 2336test util-16.1.17.-281 {8.4 compatible formatting of doubles} precision \ 2337 {expr {1e-281}} \ 2338 1e-281 2339test util-16.1.17.-280 {8.4 compatible formatting of doubles} precision \ 2340 {expr {1e-280}} \ 2341 9.9999999999999996e-281 2342test util-16.1.17.-279 {8.4 compatible formatting of doubles} precision \ 2343 {expr {1e-279}} \ 2344 1.0000000000000001e-279 2345test util-16.1.17.-278 {8.4 compatible formatting of doubles} precision \ 2346 {expr {1e-278}} \ 2347 9.9999999999999994e-279 2348test util-16.1.17.-277 {8.4 compatible formatting of doubles} precision \ 2349 {expr {1e-277}} \ 2350 9.9999999999999997e-278 2351test util-16.1.17.-276 {8.4 compatible formatting of doubles} precision \ 2352 {expr {1e-276}} \ 2353 1.0000000000000001e-276 2354test util-16.1.17.-275 {8.4 compatible formatting of doubles} precision \ 2355 {expr {1e-275}} \ 2356 9.9999999999999993e-276 2357test util-16.1.17.-274 {8.4 compatible formatting of doubles} precision \ 2358 {expr {1e-274}} \ 2359 9.9999999999999997e-275 2360test util-16.1.17.-273 {8.4 compatible formatting of doubles} precision \ 2361 {expr {1e-273}} \ 2362 1.0000000000000001e-273 2363test util-16.1.17.-272 {8.4 compatible formatting of doubles} precision \ 2364 {expr {1e-272}} \ 2365 9.9999999999999993e-273 2366test util-16.1.17.-271 {8.4 compatible formatting of doubles} precision \ 2367 {expr {1e-271}} \ 2368 9.9999999999999996e-272 2369test util-16.1.17.-270 {8.4 compatible formatting of doubles} precision \ 2370 {expr {1e-270}} \ 2371 1e-270 2372test util-16.1.17.-269 {8.4 compatible formatting of doubles} precision \ 2373 {expr {1e-269}} \ 2374 9.9999999999999996e-270 2375test util-16.1.17.-268 {8.4 compatible formatting of doubles} precision \ 2376 {expr {1e-268}} \ 2377 9.9999999999999996e-269 2378test util-16.1.17.-267 {8.4 compatible formatting of doubles} precision \ 2379 {expr {1e-267}} \ 2380 9.9999999999999998e-268 2381test util-16.1.17.-266 {8.4 compatible formatting of doubles} precision \ 2382 {expr {1e-266}} \ 2383 9.9999999999999998e-267 2384test util-16.1.17.-265 {8.4 compatible formatting of doubles} precision \ 2385 {expr {1e-265}} \ 2386 9.9999999999999998e-266 2387test util-16.1.17.-264 {8.4 compatible formatting of doubles} precision \ 2388 {expr {1e-264}} \ 2389 1e-264 2390test util-16.1.17.-263 {8.4 compatible formatting of doubles} precision \ 2391 {expr {1e-263}} \ 2392 1e-263 2393test util-16.1.17.-262 {8.4 compatible formatting of doubles} precision \ 2394 {expr {1e-262}} \ 2395 1e-262 2396test util-16.1.17.-261 {8.4 compatible formatting of doubles} precision \ 2397 {expr {1e-261}} \ 2398 9.9999999999999998e-262 2399test util-16.1.17.-260 {8.4 compatible formatting of doubles} precision \ 2400 {expr {1e-260}} \ 2401 9.9999999999999996e-261 2402test util-16.1.17.-259 {8.4 compatible formatting of doubles} precision \ 2403 {expr {1e-259}} \ 2404 1.0000000000000001e-259 2405test util-16.1.17.-258 {8.4 compatible formatting of doubles} precision \ 2406 {expr {1e-258}} \ 2407 9.9999999999999995e-259 2408test util-16.1.17.-257 {8.4 compatible formatting of doubles} precision \ 2409 {expr {1e-257}} \ 2410 9.9999999999999998e-258 2411test util-16.1.17.-256 {8.4 compatible formatting of doubles} precision \ 2412 {expr {1e-256}} \ 2413 9.9999999999999998e-257 2414test util-16.1.17.-255 {8.4 compatible formatting of doubles} precision \ 2415 {expr {1e-255}} \ 2416 1e-255 2417test util-16.1.17.-254 {8.4 compatible formatting of doubles} precision \ 2418 {expr {1e-254}} \ 2419 9.9999999999999991e-255 2420test util-16.1.17.-253 {8.4 compatible formatting of doubles} precision \ 2421 {expr {1e-253}} \ 2422 1.0000000000000001e-253 2423test util-16.1.17.-252 {8.4 compatible formatting of doubles} precision \ 2424 {expr {1e-252}} \ 2425 9.9999999999999994e-253 2426test util-16.1.17.-251 {8.4 compatible formatting of doubles} precision \ 2427 {expr {1e-251}} \ 2428 1e-251 2429test util-16.1.17.-250 {8.4 compatible formatting of doubles} precision \ 2430 {expr {1e-250}} \ 2431 1.0000000000000001e-250 2432test util-16.1.17.-249 {8.4 compatible formatting of doubles} precision \ 2433 {expr {1e-249}} \ 2434 1.0000000000000001e-249 2435test util-16.1.17.-248 {8.4 compatible formatting of doubles} precision \ 2436 {expr {1e-248}} \ 2437 9.9999999999999998e-249 2438test util-16.1.17.-247 {8.4 compatible formatting of doubles} precision \ 2439 {expr {1e-247}} \ 2440 1e-247 2441test util-16.1.17.-246 {8.4 compatible formatting of doubles} precision \ 2442 {expr {1e-246}} \ 2443 9.9999999999999996e-247 2444test util-16.1.17.-245 {8.4 compatible formatting of doubles} precision \ 2445 {expr {1e-245}} \ 2446 9.9999999999999993e-246 2447test util-16.1.17.-244 {8.4 compatible formatting of doubles} precision \ 2448 {expr {1e-244}} \ 2449 9.9999999999999993e-245 2450test util-16.1.17.-243 {8.4 compatible formatting of doubles} precision \ 2451 {expr {1e-243}} \ 2452 1e-243 2453test util-16.1.17.-242 {8.4 compatible formatting of doubles} precision \ 2454 {expr {1e-242}} \ 2455 9.9999999999999997e-243 2456test util-16.1.17.-241 {8.4 compatible formatting of doubles} precision \ 2457 {expr {1e-241}} \ 2458 9.9999999999999997e-242 2459test util-16.1.17.-240 {8.4 compatible formatting of doubles} precision \ 2460 {expr {1e-240}} \ 2461 9.9999999999999997e-241 2462test util-16.1.17.-239 {8.4 compatible formatting of doubles} precision \ 2463 {expr {1e-239}} \ 2464 1.0000000000000001e-239 2465test util-16.1.17.-238 {8.4 compatible formatting of doubles} precision \ 2466 {expr {1e-238}} \ 2467 9.9999999999999999e-239 2468test util-16.1.17.-237 {8.4 compatible formatting of doubles} precision \ 2469 {expr {1e-237}} \ 2470 9.9999999999999999e-238 2471test util-16.1.17.-236 {8.4 compatible formatting of doubles} precision \ 2472 {expr {1e-236}} \ 2473 1e-236 2474test util-16.1.17.-235 {8.4 compatible formatting of doubles} precision \ 2475 {expr {1e-235}} \ 2476 9.9999999999999996e-236 2477test util-16.1.17.-234 {8.4 compatible formatting of doubles} precision \ 2478 {expr {1e-234}} \ 2479 9.9999999999999996e-235 2480test util-16.1.17.-233 {8.4 compatible formatting of doubles} precision \ 2481 {expr {1e-233}} \ 2482 9.9999999999999996e-234 2483test util-16.1.17.-232 {8.4 compatible formatting of doubles} precision \ 2484 {expr {1e-232}} \ 2485 1e-232 2486test util-16.1.17.-231 {8.4 compatible formatting of doubles} precision \ 2487 {expr {1e-231}} \ 2488 9.9999999999999999e-232 2489test util-16.1.17.-230 {8.4 compatible formatting of doubles} precision \ 2490 {expr {1e-230}} \ 2491 1e-230 2492test util-16.1.17.-229 {8.4 compatible formatting of doubles} precision \ 2493 {expr {1e-229}} \ 2494 1.0000000000000001e-229 2495test util-16.1.17.-228 {8.4 compatible formatting of doubles} precision \ 2496 {expr {1e-228}} \ 2497 1e-228 2498test util-16.1.17.-227 {8.4 compatible formatting of doubles} precision \ 2499 {expr {1e-227}} \ 2500 9.9999999999999994e-228 2501test util-16.1.17.-226 {8.4 compatible formatting of doubles} precision \ 2502 {expr {1e-226}} \ 2503 9.9999999999999992e-227 2504test util-16.1.17.-225 {8.4 compatible formatting of doubles} precision \ 2505 {expr {1e-225}} \ 2506 9.9999999999999996e-226 2507test util-16.1.17.-224 {8.4 compatible formatting of doubles} precision \ 2508 {expr {1e-224}} \ 2509 1e-224 2510test util-16.1.17.-223 {8.4 compatible formatting of doubles} precision \ 2511 {expr {1e-223}} \ 2512 9.9999999999999997e-224 2513test util-16.1.17.-222 {8.4 compatible formatting of doubles} precision \ 2514 {expr {1e-222}} \ 2515 1e-222 2516test util-16.1.17.-221 {8.4 compatible formatting of doubles} precision \ 2517 {expr {1e-221}} \ 2518 1e-221 2519test util-16.1.17.-220 {8.4 compatible formatting of doubles} precision \ 2520 {expr {1e-220}} \ 2521 9.9999999999999999e-221 2522test util-16.1.17.-219 {8.4 compatible formatting of doubles} precision \ 2523 {expr {1e-219}} \ 2524 1e-219 2525test util-16.1.17.-218 {8.4 compatible formatting of doubles} precision \ 2526 {expr {1e-218}} \ 2527 1e-218 2528test util-16.1.17.-217 {8.4 compatible formatting of doubles} precision \ 2529 {expr {1e-217}} \ 2530 1.0000000000000001e-217 2531test util-16.1.17.-216 {8.4 compatible formatting of doubles} precision \ 2532 {expr {1e-216}} \ 2533 1e-216 2534test util-16.1.17.-215 {8.4 compatible formatting of doubles} precision \ 2535 {expr {1e-215}} \ 2536 1e-215 2537test util-16.1.17.-214 {8.4 compatible formatting of doubles} precision \ 2538 {expr {1e-214}} \ 2539 9.9999999999999991e-215 2540test util-16.1.17.-213 {8.4 compatible formatting of doubles} precision \ 2541 {expr {1e-213}} \ 2542 9.9999999999999995e-214 2543test util-16.1.17.-212 {8.4 compatible formatting of doubles} precision \ 2544 {expr {1e-212}} \ 2545 9.9999999999999995e-213 2546test util-16.1.17.-211 {8.4 compatible formatting of doubles} precision \ 2547 {expr {1e-211}} \ 2548 1.0000000000000001e-211 2549test util-16.1.17.-210 {8.4 compatible formatting of doubles} precision \ 2550 {expr {1e-210}} \ 2551 1e-210 2552test util-16.1.17.-209 {8.4 compatible formatting of doubles} precision \ 2553 {expr {1e-209}} \ 2554 1e-209 2555test util-16.1.17.-208 {8.4 compatible formatting of doubles} precision \ 2556 {expr {1e-208}} \ 2557 1.0000000000000001e-208 2558test util-16.1.17.-207 {8.4 compatible formatting of doubles} precision \ 2559 {expr {1e-207}} \ 2560 9.9999999999999993e-208 2561test util-16.1.17.-206 {8.4 compatible formatting of doubles} precision \ 2562 {expr {1e-206}} \ 2563 1e-206 2564test util-16.1.17.-205 {8.4 compatible formatting of doubles} precision \ 2565 {expr {1e-205}} \ 2566 1e-205 2567test util-16.1.17.-204 {8.4 compatible formatting of doubles} precision \ 2568 {expr {1e-204}} \ 2569 1e-204 2570test util-16.1.17.-203 {8.4 compatible formatting of doubles} precision \ 2571 {expr {1e-203}} \ 2572 1e-203 2573test util-16.1.17.-202 {8.4 compatible formatting of doubles} precision \ 2574 {expr {1e-202}} \ 2575 1e-202 2576test util-16.1.17.-201 {8.4 compatible formatting of doubles} precision \ 2577 {expr {1e-201}} \ 2578 9.9999999999999995e-202 2579test util-16.1.17.-200 {8.4 compatible formatting of doubles} precision \ 2580 {expr {1e-200}} \ 2581 9.9999999999999998e-201 2582test util-16.1.17.-199 {8.4 compatible formatting of doubles} precision \ 2583 {expr {1e-199}} \ 2584 9.9999999999999998e-200 2585test util-16.1.17.-198 {8.4 compatible formatting of doubles} precision \ 2586 {expr {1e-198}} \ 2587 9.9999999999999991e-199 2588test util-16.1.17.-197 {8.4 compatible formatting of doubles} precision \ 2589 {expr {1e-197}} \ 2590 9.9999999999999999e-198 2591test util-16.1.17.-196 {8.4 compatible formatting of doubles} precision \ 2592 {expr {1e-196}} \ 2593 1e-196 2594test util-16.1.17.-195 {8.4 compatible formatting of doubles} precision \ 2595 {expr {1e-195}} \ 2596 1.0000000000000001e-195 2597test util-16.1.17.-194 {8.4 compatible formatting of doubles} precision \ 2598 {expr {1e-194}} \ 2599 1e-194 2600test util-16.1.17.-193 {8.4 compatible formatting of doubles} precision \ 2601 {expr {1e-193}} \ 2602 1e-193 2603test util-16.1.17.-192 {8.4 compatible formatting of doubles} precision \ 2604 {expr {1e-192}} \ 2605 1.0000000000000001e-192 2606test util-16.1.17.-191 {8.4 compatible formatting of doubles} precision \ 2607 {expr {1e-191}} \ 2608 1e-191 2609test util-16.1.17.-190 {8.4 compatible formatting of doubles} precision \ 2610 {expr {1e-190}} \ 2611 1e-190 2612test util-16.1.17.-189 {8.4 compatible formatting of doubles} precision \ 2613 {expr {1e-189}} \ 2614 1.0000000000000001e-189 2615test util-16.1.17.-188 {8.4 compatible formatting of doubles} precision \ 2616 {expr {1e-188}} \ 2617 9.9999999999999995e-189 2618test util-16.1.17.-187 {8.4 compatible formatting of doubles} precision \ 2619 {expr {1e-187}} \ 2620 1e-187 2621test util-16.1.17.-186 {8.4 compatible formatting of doubles} precision \ 2622 {expr {1e-186}} \ 2623 9.9999999999999991e-187 2624test util-16.1.17.-185 {8.4 compatible formatting of doubles} precision \ 2625 {expr {1e-185}} \ 2626 9.9999999999999999e-186 2627test util-16.1.17.-184 {8.4 compatible formatting of doubles} precision \ 2628 {expr {1e-184}} \ 2629 1.0000000000000001e-184 2630test util-16.1.17.-183 {8.4 compatible formatting of doubles} precision \ 2631 {expr {1e-183}} \ 2632 1e-183 2633test util-16.1.17.-182 {8.4 compatible formatting of doubles} precision \ 2634 {expr {1e-182}} \ 2635 1e-182 2636test util-16.1.17.-181 {8.4 compatible formatting of doubles} precision \ 2637 {expr {1e-181}} \ 2638 1e-181 2639test util-16.1.17.-180 {8.4 compatible formatting of doubles} precision \ 2640 {expr {1e-180}} \ 2641 1e-180 2642test util-16.1.17.-179 {8.4 compatible formatting of doubles} precision \ 2643 {expr {1e-179}} \ 2644 1e-179 2645test util-16.1.17.-178 {8.4 compatible formatting of doubles} precision \ 2646 {expr {1e-178}} \ 2647 9.9999999999999995e-179 2648test util-16.1.17.-177 {8.4 compatible formatting of doubles} precision \ 2649 {expr {1e-177}} \ 2650 9.9999999999999995e-178 2651test util-16.1.17.-176 {8.4 compatible formatting of doubles} precision \ 2652 {expr {1e-176}} \ 2653 1e-176 2654test util-16.1.17.-175 {8.4 compatible formatting of doubles} precision \ 2655 {expr {1e-175}} \ 2656 1e-175 2657test util-16.1.17.-174 {8.4 compatible formatting of doubles} precision \ 2658 {expr {1e-174}} \ 2659 1e-174 2660test util-16.1.17.-173 {8.4 compatible formatting of doubles} precision \ 2661 {expr {1e-173}} \ 2662 1e-173 2663test util-16.1.17.-172 {8.4 compatible formatting of doubles} precision \ 2664 {expr {1e-172}} \ 2665 1e-172 2666test util-16.1.17.-171 {8.4 compatible formatting of doubles} precision \ 2667 {expr {1e-171}} \ 2668 9.9999999999999998e-172 2669test util-16.1.17.-170 {8.4 compatible formatting of doubles} precision \ 2670 {expr {1e-170}} \ 2671 9.9999999999999998e-171 2672test util-16.1.17.-169 {8.4 compatible formatting of doubles} precision \ 2673 {expr {1e-169}} \ 2674 1e-169 2675test util-16.1.17.-168 {8.4 compatible formatting of doubles} precision \ 2676 {expr {1e-168}} \ 2677 1e-168 2678test util-16.1.17.-167 {8.4 compatible formatting of doubles} precision \ 2679 {expr {1e-167}} \ 2680 1e-167 2681test util-16.1.17.-166 {8.4 compatible formatting of doubles} precision \ 2682 {expr {1e-166}} \ 2683 1e-166 2684test util-16.1.17.-165 {8.4 compatible formatting of doubles} precision \ 2685 {expr {1e-165}} \ 2686 1e-165 2687test util-16.1.17.-164 {8.4 compatible formatting of doubles} precision \ 2688 {expr {1e-164}} \ 2689 9.9999999999999996e-165 2690test util-16.1.17.-163 {8.4 compatible formatting of doubles} precision \ 2691 {expr {1e-163}} \ 2692 9.9999999999999992e-164 2693test util-16.1.17.-162 {8.4 compatible formatting of doubles} precision \ 2694 {expr {1e-162}} \ 2695 9.9999999999999995e-163 2696test util-16.1.17.-161 {8.4 compatible formatting of doubles} precision \ 2697 {expr {1e-161}} \ 2698 1e-161 2699test util-16.1.17.-160 {8.4 compatible formatting of doubles} precision \ 2700 {expr {1e-160}} \ 2701 9.9999999999999999e-161 2702test util-16.1.17.-159 {8.4 compatible formatting of doubles} precision \ 2703 {expr {1e-159}} \ 2704 9.9999999999999999e-160 2705test util-16.1.17.-158 {8.4 compatible formatting of doubles} precision \ 2706 {expr {1e-158}} \ 2707 1.0000000000000001e-158 2708test util-16.1.17.-157 {8.4 compatible formatting of doubles} precision \ 2709 {expr {1e-157}} \ 2710 9.9999999999999994e-158 2711test util-16.1.17.-156 {8.4 compatible formatting of doubles} precision \ 2712 {expr {1e-156}} \ 2713 1e-156 2714test util-16.1.17.-155 {8.4 compatible formatting of doubles} precision \ 2715 {expr {1e-155}} \ 2716 1e-155 2717test util-16.1.17.-154 {8.4 compatible formatting of doubles} precision \ 2718 {expr {1e-154}} \ 2719 9.9999999999999997e-155 2720test util-16.1.17.-153 {8.4 compatible formatting of doubles} precision \ 2721 {expr {1e-153}} \ 2722 1e-153 2723test util-16.1.17.-152 {8.4 compatible formatting of doubles} precision \ 2724 {expr {1e-152}} \ 2725 1.0000000000000001e-152 2726test util-16.1.17.-151 {8.4 compatible formatting of doubles} precision \ 2727 {expr {1e-151}} \ 2728 9.9999999999999994e-152 2729test util-16.1.17.-150 {8.4 compatible formatting of doubles} precision \ 2730 {expr {1e-150}} \ 2731 1e-150 2732test util-16.1.17.-149 {8.4 compatible formatting of doubles} precision \ 2733 {expr {1e-149}} \ 2734 9.9999999999999998e-150 2735test util-16.1.17.-148 {8.4 compatible formatting of doubles} precision \ 2736 {expr {1e-148}} \ 2737 9.9999999999999994e-149 2738test util-16.1.17.-147 {8.4 compatible formatting of doubles} precision \ 2739 {expr {1e-147}} \ 2740 9.9999999999999997e-148 2741test util-16.1.17.-146 {8.4 compatible formatting of doubles} precision \ 2742 {expr {1e-146}} \ 2743 1e-146 2744test util-16.1.17.-145 {8.4 compatible formatting of doubles} precision \ 2745 {expr {1e-145}} \ 2746 9.9999999999999991e-146 2747test util-16.1.17.-144 {8.4 compatible formatting of doubles} precision \ 2748 {expr {1e-144}} \ 2749 9.9999999999999995e-145 2750test util-16.1.17.-143 {8.4 compatible formatting of doubles} precision \ 2751 {expr {1e-143}} \ 2752 9.9999999999999995e-144 2753test util-16.1.17.-142 {8.4 compatible formatting of doubles} precision \ 2754 {expr {1e-142}} \ 2755 1e-142 2756test util-16.1.17.-141 {8.4 compatible formatting of doubles} precision \ 2757 {expr {1e-141}} \ 2758 1e-141 2759test util-16.1.17.-140 {8.4 compatible formatting of doubles} precision \ 2760 {expr {1e-140}} \ 2761 9.9999999999999998e-141 2762test util-16.1.17.-139 {8.4 compatible formatting of doubles} precision \ 2763 {expr {1e-139}} \ 2764 1e-139 2765test util-16.1.17.-138 {8.4 compatible formatting of doubles} precision \ 2766 {expr {1e-138}} \ 2767 1.0000000000000001e-138 2768test util-16.1.17.-137 {8.4 compatible formatting of doubles} precision \ 2769 {expr {1e-137}} \ 2770 9.9999999999999998e-138 2771test util-16.1.17.-136 {8.4 compatible formatting of doubles} precision \ 2772 {expr {1e-136}} \ 2773 1e-136 2774test util-16.1.17.-135 {8.4 compatible formatting of doubles} precision \ 2775 {expr {1e-135}} \ 2776 1e-135 2777test util-16.1.17.-134 {8.4 compatible formatting of doubles} precision \ 2778 {expr {1e-134}} \ 2779 1e-134 2780test util-16.1.17.-133 {8.4 compatible formatting of doubles} precision \ 2781 {expr {1e-133}} \ 2782 1.0000000000000001e-133 2783test util-16.1.17.-132 {8.4 compatible formatting of doubles} precision \ 2784 {expr {1e-132}} \ 2785 9.9999999999999999e-133 2786test util-16.1.17.-131 {8.4 compatible formatting of doubles} precision \ 2787 {expr {1e-131}} \ 2788 9.9999999999999999e-132 2789test util-16.1.17.-130 {8.4 compatible formatting of doubles} precision \ 2790 {expr {1e-130}} \ 2791 1.0000000000000001e-130 2792test util-16.1.17.-129 {8.4 compatible formatting of doubles} precision \ 2793 {expr {1e-129}} \ 2794 9.9999999999999993e-130 2795test util-16.1.17.-128 {8.4 compatible formatting of doubles} precision \ 2796 {expr {1e-128}} \ 2797 1.0000000000000001e-128 2798test util-16.1.17.-127 {8.4 compatible formatting of doubles} precision \ 2799 {expr {1e-127}} \ 2800 1e-127 2801test util-16.1.17.-126 {8.4 compatible formatting of doubles} precision \ 2802 {expr {1e-126}} \ 2803 9.9999999999999995e-127 2804test util-16.1.17.-125 {8.4 compatible formatting of doubles} precision \ 2805 {expr {1e-125}} \ 2806 1e-125 2807test util-16.1.17.-124 {8.4 compatible formatting of doubles} precision \ 2808 {expr {1e-124}} \ 2809 9.9999999999999993e-125 2810test util-16.1.17.-123 {8.4 compatible formatting of doubles} precision \ 2811 {expr {1e-123}} \ 2812 1.0000000000000001e-123 2813test util-16.1.17.-122 {8.4 compatible formatting of doubles} precision \ 2814 {expr {1e-122}} \ 2815 1.0000000000000001e-122 2816test util-16.1.17.-121 {8.4 compatible formatting of doubles} precision \ 2817 {expr {1e-121}} \ 2818 9.9999999999999998e-122 2819test util-16.1.17.-120 {8.4 compatible formatting of doubles} precision \ 2820 {expr {1e-120}} \ 2821 9.9999999999999998e-121 2822test util-16.1.17.-119 {8.4 compatible formatting of doubles} precision \ 2823 {expr {1e-119}} \ 2824 1e-119 2825test util-16.1.17.-118 {8.4 compatible formatting of doubles} precision \ 2826 {expr {1e-118}} \ 2827 9.9999999999999999e-119 2828test util-16.1.17.-117 {8.4 compatible formatting of doubles} precision \ 2829 {expr {1e-117}} \ 2830 1e-117 2831test util-16.1.17.-116 {8.4 compatible formatting of doubles} precision \ 2832 {expr {1e-116}} \ 2833 9.9999999999999999e-117 2834test util-16.1.17.-115 {8.4 compatible formatting of doubles} precision \ 2835 {expr {1e-115}} \ 2836 1.0000000000000001e-115 2837test util-16.1.17.-114 {8.4 compatible formatting of doubles} precision \ 2838 {expr {1e-114}} \ 2839 1.0000000000000001e-114 2840test util-16.1.17.-113 {8.4 compatible formatting of doubles} precision \ 2841 {expr {1e-113}} \ 2842 9.9999999999999998e-114 2843test util-16.1.17.-112 {8.4 compatible formatting of doubles} precision \ 2844 {expr {1e-112}} \ 2845 9.9999999999999995e-113 2846test util-16.1.17.-111 {8.4 compatible formatting of doubles} precision \ 2847 {expr {1e-111}} \ 2848 1.0000000000000001e-111 2849test util-16.1.17.-110 {8.4 compatible formatting of doubles} precision \ 2850 {expr {1e-110}} \ 2851 1.0000000000000001e-110 2852test util-16.1.17.-109 {8.4 compatible formatting of doubles} precision \ 2853 {expr {1e-109}} \ 2854 9.9999999999999999e-110 2855test util-16.1.17.-108 {8.4 compatible formatting of doubles} precision \ 2856 {expr {1e-108}} \ 2857 1e-108 2858test util-16.1.17.-107 {8.4 compatible formatting of doubles} precision \ 2859 {expr {1e-107}} \ 2860 1e-107 2861test util-16.1.17.-106 {8.4 compatible formatting of doubles} precision \ 2862 {expr {1e-106}} \ 2863 9.9999999999999994e-107 2864test util-16.1.17.-105 {8.4 compatible formatting of doubles} precision \ 2865 {expr {1e-105}} \ 2866 9.9999999999999997e-106 2867test util-16.1.17.-104 {8.4 compatible formatting of doubles} precision \ 2868 {expr {1e-104}} \ 2869 9.9999999999999993e-105 2870test util-16.1.17.-103 {8.4 compatible formatting of doubles} precision \ 2871 {expr {1e-103}} \ 2872 9.9999999999999996e-104 2873test util-16.1.17.-102 {8.4 compatible formatting of doubles} precision \ 2874 {expr {1e-102}} \ 2875 9.9999999999999993e-103 2876test util-16.1.17.-101 {8.4 compatible formatting of doubles} precision \ 2877 {expr {1e-101}} \ 2878 1.0000000000000001e-101 2879test util-16.1.17.-100 {8.4 compatible formatting of doubles} precision \ 2880 {expr {1e-100}} \ 2881 1e-100 2882test util-16.1.17.-99 {8.4 compatible formatting of doubles} precision \ 2883 {expr {1e-99}} \ 2884 1e-99 2885test util-16.1.17.-98 {8.4 compatible formatting of doubles} precision \ 2886 {expr {1e-98}} \ 2887 9.9999999999999994e-99 2888test util-16.1.17.-97 {8.4 compatible formatting of doubles} precision \ 2889 {expr {1e-97}} \ 2890 1e-97 2891test util-16.1.17.-96 {8.4 compatible formatting of doubles} precision \ 2892 {expr {1e-96}} \ 2893 9.9999999999999991e-97 2894test util-16.1.17.-95 {8.4 compatible formatting of doubles} precision \ 2895 {expr {1e-95}} \ 2896 9.9999999999999999e-96 2897test util-16.1.17.-94 {8.4 compatible formatting of doubles} precision \ 2898 {expr {1e-94}} \ 2899 9.9999999999999996e-95 2900test util-16.1.17.-93 {8.4 compatible formatting of doubles} precision \ 2901 {expr {1e-93}} \ 2902 9.999999999999999e-94 2903test util-16.1.17.-92 {8.4 compatible formatting of doubles} precision \ 2904 {expr {1e-92}} \ 2905 9.9999999999999999e-93 2906test util-16.1.17.-91 {8.4 compatible formatting of doubles} precision \ 2907 {expr {1e-91}} \ 2908 1e-91 2909test util-16.1.17.-90 {8.4 compatible formatting of doubles} precision \ 2910 {expr {1e-90}} \ 2911 9.9999999999999999e-91 2912test util-16.1.17.-89 {8.4 compatible formatting of doubles} precision \ 2913 {expr {1e-89}} \ 2914 1e-89 2915test util-16.1.17.-88 {8.4 compatible formatting of doubles} precision \ 2916 {expr {1e-88}} \ 2917 9.9999999999999993e-89 2918test util-16.1.17.-87 {8.4 compatible formatting of doubles} precision \ 2919 {expr {1e-87}} \ 2920 1e-87 2921test util-16.1.17.-86 {8.4 compatible formatting of doubles} precision \ 2922 {expr {1e-86}} \ 2923 1.0000000000000001e-86 2924test util-16.1.17.-85 {8.4 compatible formatting of doubles} precision \ 2925 {expr {1e-85}} \ 2926 9.9999999999999998e-86 2927test util-16.1.17.-84 {8.4 compatible formatting of doubles} precision \ 2928 {expr {1e-84}} \ 2929 1e-84 2930test util-16.1.17.-83 {8.4 compatible formatting of doubles} precision \ 2931 {expr {1e-83}} \ 2932 1e-83 2933test util-16.1.17.-82 {8.4 compatible formatting of doubles} precision \ 2934 {expr {1e-82}} \ 2935 9.9999999999999996e-83 2936test util-16.1.17.-81 {8.4 compatible formatting of doubles} precision \ 2937 {expr {1e-81}} \ 2938 9.9999999999999996e-82 2939test util-16.1.17.-80 {8.4 compatible formatting of doubles} precision \ 2940 {expr {1e-80}} \ 2941 9.9999999999999996e-81 2942test util-16.1.17.-79 {8.4 compatible formatting of doubles} precision \ 2943 {expr {1e-79}} \ 2944 1e-79 2945test util-16.1.17.-78 {8.4 compatible formatting of doubles} precision \ 2946 {expr {1e-78}} \ 2947 1e-78 2948test util-16.1.17.-77 {8.4 compatible formatting of doubles} precision \ 2949 {expr {1e-77}} \ 2950 9.9999999999999993e-78 2951test util-16.1.17.-76 {8.4 compatible formatting of doubles} precision \ 2952 {expr {1e-76}} \ 2953 9.9999999999999993e-77 2954test util-16.1.17.-75 {8.4 compatible formatting of doubles} precision \ 2955 {expr {1e-75}} \ 2956 9.9999999999999996e-76 2957test util-16.1.17.-74 {8.4 compatible formatting of doubles} precision \ 2958 {expr {1e-74}} \ 2959 9.9999999999999996e-75 2960test util-16.1.17.-73 {8.4 compatible formatting of doubles} precision \ 2961 {expr {1e-73}} \ 2962 1e-73 2963test util-16.1.17.-72 {8.4 compatible formatting of doubles} precision \ 2964 {expr {1e-72}} \ 2965 9.9999999999999997e-73 2966test util-16.1.17.-71 {8.4 compatible formatting of doubles} precision \ 2967 {expr {1e-71}} \ 2968 9.9999999999999992e-72 2969test util-16.1.17.-70 {8.4 compatible formatting of doubles} precision \ 2970 {expr {1e-70}} \ 2971 1e-70 2972test util-16.1.17.-69 {8.4 compatible formatting of doubles} precision \ 2973 {expr {1e-69}} \ 2974 9.9999999999999996e-70 2975test util-16.1.17.-68 {8.4 compatible formatting of doubles} precision \ 2976 {expr {1e-68}} \ 2977 1.0000000000000001e-68 2978test util-16.1.17.-67 {8.4 compatible formatting of doubles} precision \ 2979 {expr {1e-67}} \ 2980 9.9999999999999994e-68 2981test util-16.1.17.-66 {8.4 compatible formatting of doubles} precision \ 2982 {expr {1e-66}} \ 2983 9.9999999999999998e-67 2984test util-16.1.17.-65 {8.4 compatible formatting of doubles} precision \ 2985 {expr {1e-65}} \ 2986 9.9999999999999992e-66 2987test util-16.1.17.-64 {8.4 compatible formatting of doubles} precision \ 2988 {expr {1e-64}} \ 2989 9.9999999999999997e-65 2990test util-16.1.17.-63 {8.4 compatible formatting of doubles} precision \ 2991 {expr {1e-63}} \ 2992 1.0000000000000001e-63 2993test util-16.1.17.-62 {8.4 compatible formatting of doubles} precision \ 2994 {expr {1e-62}} \ 2995 1e-62 2996test util-16.1.17.-61 {8.4 compatible formatting of doubles} precision \ 2997 {expr {1e-61}} \ 2998 1e-61 2999test util-16.1.17.-60 {8.4 compatible formatting of doubles} precision \ 3000 {expr {1e-60}} \ 3001 9.9999999999999997e-61 3002test util-16.1.17.-59 {8.4 compatible formatting of doubles} precision \ 3003 {expr {1e-59}} \ 3004 1e-59 3005test util-16.1.17.-58 {8.4 compatible formatting of doubles} precision \ 3006 {expr {1e-58}} \ 3007 1e-58 3008test util-16.1.17.-57 {8.4 compatible formatting of doubles} precision \ 3009 {expr {1e-57}} \ 3010 9.9999999999999995e-58 3011test util-16.1.17.-56 {8.4 compatible formatting of doubles} precision \ 3012 {expr {1e-56}} \ 3013 1e-56 3014test util-16.1.17.-55 {8.4 compatible formatting of doubles} precision \ 3015 {expr {1e-55}} \ 3016 9.9999999999999999e-56 3017test util-16.1.17.-54 {8.4 compatible formatting of doubles} precision \ 3018 {expr {1e-54}} \ 3019 1e-54 3020test util-16.1.17.-53 {8.4 compatible formatting of doubles} precision \ 3021 {expr {1e-53}} \ 3022 1e-53 3023test util-16.1.17.-52 {8.4 compatible formatting of doubles} precision \ 3024 {expr {1e-52}} \ 3025 1e-52 3026test util-16.1.17.-51 {8.4 compatible formatting of doubles} precision \ 3027 {expr {1e-51}} \ 3028 1e-51 3029test util-16.1.17.-50 {8.4 compatible formatting of doubles} precision \ 3030 {expr {1e-50}} \ 3031 1e-50 3032test util-16.1.17.-49 {8.4 compatible formatting of doubles} precision \ 3033 {expr {1e-49}} \ 3034 9.9999999999999994e-50 3035test util-16.1.17.-48 {8.4 compatible formatting of doubles} precision \ 3036 {expr {1e-48}} \ 3037 9.9999999999999997e-49 3038test util-16.1.17.-47 {8.4 compatible formatting of doubles} precision \ 3039 {expr {1e-47}} \ 3040 9.9999999999999997e-48 3041test util-16.1.17.-46 {8.4 compatible formatting of doubles} precision \ 3042 {expr {1e-46}} \ 3043 1e-46 3044test util-16.1.17.-45 {8.4 compatible formatting of doubles} precision \ 3045 {expr {1e-45}} \ 3046 9.9999999999999998e-46 3047test util-16.1.17.-44 {8.4 compatible formatting of doubles} precision \ 3048 {expr {1e-44}} \ 3049 9.9999999999999995e-45 3050test util-16.1.17.-43 {8.4 compatible formatting of doubles} precision \ 3051 {expr {1e-43}} \ 3052 1.0000000000000001e-43 3053test util-16.1.17.-42 {8.4 compatible formatting of doubles} precision \ 3054 {expr {1e-42}} \ 3055 1e-42 3056test util-16.1.17.-41 {8.4 compatible formatting of doubles} precision \ 3057 {expr {1e-41}} \ 3058 1e-41 3059test util-16.1.17.-40 {8.4 compatible formatting of doubles} precision \ 3060 {expr {1e-40}} \ 3061 9.9999999999999993e-41 3062test util-16.1.17.-39 {8.4 compatible formatting of doubles} precision \ 3063 {expr {1e-39}} \ 3064 9.9999999999999993e-40 3065test util-16.1.17.-38 {8.4 compatible formatting of doubles} precision \ 3066 {expr {1e-38}} \ 3067 9.9999999999999996e-39 3068test util-16.1.17.-37 {8.4 compatible formatting of doubles} precision \ 3069 {expr {1e-37}} \ 3070 1.0000000000000001e-37 3071test util-16.1.17.-36 {8.4 compatible formatting of doubles} precision \ 3072 {expr {1e-36}} \ 3073 9.9999999999999994e-37 3074test util-16.1.17.-35 {8.4 compatible formatting of doubles} precision \ 3075 {expr {1e-35}} \ 3076 1e-35 3077test util-16.1.17.-34 {8.4 compatible formatting of doubles} precision \ 3078 {expr {1e-34}} \ 3079 9.9999999999999993e-35 3080test util-16.1.17.-33 {8.4 compatible formatting of doubles} precision \ 3081 {expr {1e-33}} \ 3082 1.0000000000000001e-33 3083test util-16.1.17.-32 {8.4 compatible formatting of doubles} precision \ 3084 {expr {1e-32}} \ 3085 1.0000000000000001e-32 3086test util-16.1.17.-31 {8.4 compatible formatting of doubles} precision \ 3087 {expr {1e-31}} \ 3088 1.0000000000000001e-31 3089test util-16.1.17.-30 {8.4 compatible formatting of doubles} precision \ 3090 {expr {1e-30}} \ 3091 1.0000000000000001e-30 3092test util-16.1.17.-29 {8.4 compatible formatting of doubles} precision \ 3093 {expr {1e-29}} \ 3094 9.9999999999999994e-30 3095test util-16.1.17.-28 {8.4 compatible formatting of doubles} precision \ 3096 {expr {1e-28}} \ 3097 9.9999999999999997e-29 3098test util-16.1.17.-27 {8.4 compatible formatting of doubles} precision \ 3099 {expr {1e-27}} \ 3100 1e-27 3101test util-16.1.17.-26 {8.4 compatible formatting of doubles} precision \ 3102 {expr {1e-26}} \ 3103 1e-26 3104test util-16.1.17.-25 {8.4 compatible formatting of doubles} precision \ 3105 {expr {1e-25}} \ 3106 1e-25 3107test util-16.1.17.-24 {8.4 compatible formatting of doubles} precision \ 3108 {expr {1e-24}} \ 3109 9.9999999999999992e-25 3110test util-16.1.17.-23 {8.4 compatible formatting of doubles} precision \ 3111 {expr {1e-23}} \ 3112 9.9999999999999996e-24 3113test util-16.1.17.-22 {8.4 compatible formatting of doubles} precision \ 3114 {expr {1e-22}} \ 3115 1e-22 3116test util-16.1.17.-21 {8.4 compatible formatting of doubles} precision \ 3117 {expr {1e-21}} \ 3118 9.9999999999999991e-22 3119test util-16.1.17.-20 {8.4 compatible formatting of doubles} precision \ 3120 {expr {1e-20}} \ 3121 9.9999999999999995e-21 3122test util-16.1.17.-19 {8.4 compatible formatting of doubles} precision \ 3123 {expr {1e-19}} \ 3124 9.9999999999999998e-20 3125test util-16.1.17.-18 {8.4 compatible formatting of doubles} precision \ 3126 {expr {1e-18}} \ 3127 1.0000000000000001e-18 3128test util-16.1.17.-17 {8.4 compatible formatting of doubles} precision \ 3129 {expr {1e-17}} \ 3130 1.0000000000000001e-17 3131test util-16.1.17.-16 {8.4 compatible formatting of doubles} precision \ 3132 {expr {1e-16}} \ 3133 9.9999999999999998e-17 3134test util-16.1.17.-15 {8.4 compatible formatting of doubles} precision \ 3135 {expr {1e-15}} \ 3136 1.0000000000000001e-15 3137test util-16.1.17.-14 {8.4 compatible formatting of doubles} precision \ 3138 {expr {1e-14}} \ 3139 1e-14 3140test util-16.1.17.-13 {8.4 compatible formatting of doubles} precision \ 3141 {expr {1e-13}} \ 3142 1e-13 3143test util-16.1.17.-12 {8.4 compatible formatting of doubles} precision \ 3144 {expr {1e-12}} \ 3145 9.9999999999999998e-13 3146test util-16.1.17.-11 {8.4 compatible formatting of doubles} precision \ 3147 {expr {1e-11}} \ 3148 9.9999999999999994e-12 3149test util-16.1.17.-10 {8.4 compatible formatting of doubles} precision \ 3150 {expr {1e-10}} \ 3151 1e-10 3152test util-16.1.17.-9 {8.4 compatible formatting of doubles} precision \ 3153 {expr {1e-9}} \ 3154 1.0000000000000001e-09 3155test util-16.1.17.-8 {8.4 compatible formatting of doubles} precision \ 3156 {expr {1e-8}} \ 3157 1e-08 3158test util-16.1.17.-7 {8.4 compatible formatting of doubles} precision \ 3159 {expr {1e-7}} \ 3160 9.9999999999999995e-08 3161test util-16.1.17.-6 {8.4 compatible formatting of doubles} precision \ 3162 {expr {1e-6}} \ 3163 9.9999999999999995e-07 3164test util-16.1.17.-5 {8.4 compatible formatting of doubles} precision \ 3165 {expr {1e-5}} \ 3166 1.0000000000000001e-05 3167test util-16.1.17.-4 {8.4 compatible formatting of doubles} precision \ 3168 {expr {1e-4}} \ 3169 0.0001 3170test util-16.1.17.-3 {8.4 compatible formatting of doubles} precision \ 3171 {expr {1e-3}} \ 3172 0.001 3173test util-16.1.17.-2 {8.4 compatible formatting of doubles} precision \ 3174 {expr {1e-2}} \ 3175 0.01 3176test util-16.1.17.-1 {8.4 compatible formatting of doubles} precision \ 3177 {expr {1e-1}} \ 3178 0.10000000000000001 3179test util-16.1.17.0 {8.4 compatible formatting of doubles} precision \ 3180 {expr {1e0}} \ 3181 1.0 3182test util-16.1.17.1 {8.4 compatible formatting of doubles} precision \ 3183 {expr {1e1}} \ 3184 10.0 3185test util-16.1.17.2 {8.4 compatible formatting of doubles} precision \ 3186 {expr {1e2}} \ 3187 100.0 3188test util-16.1.17.3 {8.4 compatible formatting of doubles} precision \ 3189 {expr {1e3}} \ 3190 1000.0 3191test util-16.1.17.4 {8.4 compatible formatting of doubles} precision \ 3192 {expr {1e4}} \ 3193 10000.0 3194test util-16.1.17.5 {8.4 compatible formatting of doubles} precision \ 3195 {expr {1e5}} \ 3196 100000.0 3197test util-16.1.17.6 {8.4 compatible formatting of doubles} precision \ 3198 {expr {1e6}} \ 3199 1000000.0 3200test util-16.1.17.7 {8.4 compatible formatting of doubles} precision \ 3201 {expr {1e7}} \ 3202 10000000.0 3203test util-16.1.17.8 {8.4 compatible formatting of doubles} precision \ 3204 {expr {1e8}} \ 3205 100000000.0 3206test util-16.1.17.9 {8.4 compatible formatting of doubles} precision \ 3207 {expr {1e9}} \ 3208 1000000000.0 3209test util-16.1.17.10 {8.4 compatible formatting of doubles} precision \ 3210 {expr {1e10}} \ 3211 10000000000.0 3212test util-16.1.17.11 {8.4 compatible formatting of doubles} precision \ 3213 {expr {1e11}} \ 3214 100000000000.0 3215test util-16.1.17.12 {8.4 compatible formatting of doubles} precision \ 3216 {expr {1e12}} \ 3217 1000000000000.0 3218test util-16.1.17.13 {8.4 compatible formatting of doubles} precision \ 3219 {expr {1e13}} \ 3220 10000000000000.0 3221test util-16.1.17.14 {8.4 compatible formatting of doubles} precision \ 3222 {expr {1e14}} \ 3223 100000000000000.0 3224test util-16.1.17.15 {8.4 compatible formatting of doubles} precision \ 3225 {expr {1e15}} \ 3226 1000000000000000.0 3227test util-16.1.17.16 {8.4 compatible formatting of doubles} precision \ 3228 {expr {1e16}} \ 3229 10000000000000000.0 3230test util-16.1.17.17 {8.4 compatible formatting of doubles} precision \ 3231 {expr {1e17}} \ 3232 1e+17 3233test util-16.1.17.18 {8.4 compatible formatting of doubles} precision \ 3234 {expr {1e18}} \ 3235 1e+18 3236test util-16.1.17.19 {8.4 compatible formatting of doubles} precision \ 3237 {expr {1e19}} \ 3238 1e+19 3239test util-16.1.17.20 {8.4 compatible formatting of doubles} precision \ 3240 {expr {1e20}} \ 3241 1e+20 3242test util-16.1.17.21 {8.4 compatible formatting of doubles} precision \ 3243 {expr {1e21}} \ 3244 1e+21 3245test util-16.1.17.22 {8.4 compatible formatting of doubles} precision \ 3246 {expr {1e22}} \ 3247 1e+22 3248test util-16.1.17.23 {8.4 compatible formatting of doubles} precision \ 3249 {expr {1e23}} \ 3250 9.9999999999999992e+22 3251test util-16.1.17.24 {8.4 compatible formatting of doubles} precision \ 3252 {expr {1e24}} \ 3253 9.9999999999999998e+23 3254test util-16.1.17.25 {8.4 compatible formatting of doubles} precision \ 3255 {expr {1e25}} \ 3256 1.0000000000000001e+25 3257test util-16.1.17.26 {8.4 compatible formatting of doubles} precision \ 3258 {expr {1e26}} \ 3259 1e+26 3260test util-16.1.17.27 {8.4 compatible formatting of doubles} precision \ 3261 {expr {1e27}} \ 3262 1e+27 3263test util-16.1.17.28 {8.4 compatible formatting of doubles} precision \ 3264 {expr {1e28}} \ 3265 9.9999999999999996e+27 3266test util-16.1.17.29 {8.4 compatible formatting of doubles} precision \ 3267 {expr {1e29}} \ 3268 9.9999999999999991e+28 3269test util-16.1.17.30 {8.4 compatible formatting of doubles} precision \ 3270 {expr {1e30}} \ 3271 1e+30 3272test util-16.1.17.31 {8.4 compatible formatting of doubles} precision \ 3273 {expr {1e31}} \ 3274 9.9999999999999996e+30 3275test util-16.1.17.32 {8.4 compatible formatting of doubles} precision \ 3276 {expr {1e32}} \ 3277 1.0000000000000001e+32 3278test util-16.1.17.33 {8.4 compatible formatting of doubles} precision \ 3279 {expr {1e33}} \ 3280 9.9999999999999995e+32 3281test util-16.1.17.34 {8.4 compatible formatting of doubles} precision \ 3282 {expr {1e34}} \ 3283 9.9999999999999995e+33 3284test util-16.1.17.35 {8.4 compatible formatting of doubles} precision \ 3285 {expr {1e35}} \ 3286 9.9999999999999997e+34 3287test util-16.1.17.36 {8.4 compatible formatting of doubles} precision \ 3288 {expr {1e36}} \ 3289 1e+36 3290test util-16.1.17.37 {8.4 compatible formatting of doubles} precision \ 3291 {expr {1e37}} \ 3292 9.9999999999999995e+36 3293test util-16.1.17.38 {8.4 compatible formatting of doubles} precision \ 3294 {expr {1e38}} \ 3295 9.9999999999999998e+37 3296test util-16.1.17.39 {8.4 compatible formatting of doubles} precision \ 3297 {expr {1e39}} \ 3298 9.9999999999999994e+38 3299test util-16.1.17.40 {8.4 compatible formatting of doubles} precision \ 3300 {expr {1e40}} \ 3301 1e+40 3302test util-16.1.17.41 {8.4 compatible formatting of doubles} precision \ 3303 {expr {1e41}} \ 3304 1e+41 3305test util-16.1.17.42 {8.4 compatible formatting of doubles} precision \ 3306 {expr {1e42}} \ 3307 1e+42 3308test util-16.1.17.43 {8.4 compatible formatting of doubles} precision \ 3309 {expr {1e43}} \ 3310 1e+43 3311test util-16.1.17.44 {8.4 compatible formatting of doubles} precision \ 3312 {expr {1e44}} \ 3313 1.0000000000000001e+44 3314test util-16.1.17.45 {8.4 compatible formatting of doubles} precision \ 3315 {expr {1e45}} \ 3316 9.9999999999999993e+44 3317test util-16.1.17.46 {8.4 compatible formatting of doubles} precision \ 3318 {expr {1e46}} \ 3319 9.9999999999999999e+45 3320test util-16.1.17.47 {8.4 compatible formatting of doubles} precision \ 3321 {expr {1e47}} \ 3322 1e+47 3323test util-16.1.17.48 {8.4 compatible formatting of doubles} precision \ 3324 {expr {1e48}} \ 3325 1e+48 3326test util-16.1.17.49 {8.4 compatible formatting of doubles} precision \ 3327 {expr {1e49}} \ 3328 9.9999999999999995e+48 3329test util-16.1.17.50 {8.4 compatible formatting of doubles} precision \ 3330 {expr {1e50}} \ 3331 1.0000000000000001e+50 3332test util-16.1.17.51 {8.4 compatible formatting of doubles} precision \ 3333 {expr {1e51}} \ 3334 9.9999999999999999e+50 3335test util-16.1.17.52 {8.4 compatible formatting of doubles} precision \ 3336 {expr {1e52}} \ 3337 9.9999999999999999e+51 3338test util-16.1.17.53 {8.4 compatible formatting of doubles} precision \ 3339 {expr {1e53}} \ 3340 9.9999999999999999e+52 3341test util-16.1.17.54 {8.4 compatible formatting of doubles} precision \ 3342 {expr {1e54}} \ 3343 1.0000000000000001e+54 3344test util-16.1.17.55 {8.4 compatible formatting of doubles} precision \ 3345 {expr {1e55}} \ 3346 1e+55 3347test util-16.1.17.56 {8.4 compatible formatting of doubles} precision \ 3348 {expr {1e56}} \ 3349 1.0000000000000001e+56 3350test util-16.1.17.57 {8.4 compatible formatting of doubles} precision \ 3351 {expr {1e57}} \ 3352 1e+57 3353test util-16.1.17.58 {8.4 compatible formatting of doubles} precision \ 3354 {expr {1e58}} \ 3355 9.9999999999999994e+57 3356test util-16.1.17.59 {8.4 compatible formatting of doubles} precision \ 3357 {expr {1e59}} \ 3358 9.9999999999999997e+58 3359test util-16.1.17.60 {8.4 compatible formatting of doubles} precision \ 3360 {expr {1e60}} \ 3361 9.9999999999999995e+59 3362test util-16.1.17.61 {8.4 compatible formatting of doubles} precision \ 3363 {expr {1e61}} \ 3364 9.9999999999999995e+60 3365test util-16.1.17.62 {8.4 compatible formatting of doubles} precision \ 3366 {expr {1e62}} \ 3367 1e+62 3368test util-16.1.17.63 {8.4 compatible formatting of doubles} precision \ 3369 {expr {1e63}} \ 3370 1.0000000000000001e+63 3371test util-16.1.17.64 {8.4 compatible formatting of doubles} precision \ 3372 {expr {1e64}} \ 3373 1e+64 3374test util-16.1.17.65 {8.4 compatible formatting of doubles} precision \ 3375 {expr {1e65}} \ 3376 9.9999999999999999e+64 3377test util-16.1.17.66 {8.4 compatible formatting of doubles} precision \ 3378 {expr {1e66}} \ 3379 9.9999999999999995e+65 3380test util-16.1.17.67 {8.4 compatible formatting of doubles} precision \ 3381 {expr {1e67}} \ 3382 9.9999999999999998e+66 3383test util-16.1.17.68 {8.4 compatible formatting of doubles} precision \ 3384 {expr {1e68}} \ 3385 9.9999999999999995e+67 3386test util-16.1.17.69 {8.4 compatible formatting of doubles} precision \ 3387 {expr {1e69}} \ 3388 1.0000000000000001e+69 3389test util-16.1.17.70 {8.4 compatible formatting of doubles} precision \ 3390 {expr {1e70}} \ 3391 1.0000000000000001e+70 3392test util-16.1.17.71 {8.4 compatible formatting of doubles} precision \ 3393 {expr {1e71}} \ 3394 1e+71 3395test util-16.1.17.72 {8.4 compatible formatting of doubles} precision \ 3396 {expr {1e72}} \ 3397 9.9999999999999994e+71 3398test util-16.1.17.73 {8.4 compatible formatting of doubles} precision \ 3399 {expr {1e73}} \ 3400 9.9999999999999998e+72 3401test util-16.1.17.74 {8.4 compatible formatting of doubles} precision \ 3402 {expr {1e74}} \ 3403 9.9999999999999995e+73 3404test util-16.1.17.75 {8.4 compatible formatting of doubles} precision \ 3405 {expr {1e75}} \ 3406 9.9999999999999993e+74 3407test util-16.1.17.76 {8.4 compatible formatting of doubles} precision \ 3408 {expr {1e76}} \ 3409 1e+76 3410test util-16.1.17.77 {8.4 compatible formatting of doubles} precision \ 3411 {expr {1e77}} \ 3412 9.9999999999999998e+76 3413test util-16.1.17.78 {8.4 compatible formatting of doubles} precision \ 3414 {expr {1e78}} \ 3415 1e+78 3416test util-16.1.17.79 {8.4 compatible formatting of doubles} precision \ 3417 {expr {1e79}} \ 3418 9.9999999999999997e+78 3419test util-16.1.17.80 {8.4 compatible formatting of doubles} precision \ 3420 {expr {1e80}} \ 3421 1e+80 3422test util-16.1.17.81 {8.4 compatible formatting of doubles} precision \ 3423 {expr {1e81}} \ 3424 9.9999999999999992e+80 3425test util-16.1.17.82 {8.4 compatible formatting of doubles} precision \ 3426 {expr {1e82}} \ 3427 9.9999999999999996e+81 3428test util-16.1.17.83 {8.4 compatible formatting of doubles} precision \ 3429 {expr {1e83}} \ 3430 1e+83 3431test util-16.1.17.84 {8.4 compatible formatting of doubles} precision \ 3432 {expr {1e84}} \ 3433 1.0000000000000001e+84 3434test util-16.1.17.85 {8.4 compatible formatting of doubles} precision \ 3435 {expr {1e85}} \ 3436 1e+85 3437test util-16.1.17.86 {8.4 compatible formatting of doubles} precision \ 3438 {expr {1e86}} \ 3439 1e+86 3440test util-16.1.17.87 {8.4 compatible formatting of doubles} precision \ 3441 {expr {1e87}} \ 3442 9.9999999999999996e+86 3443test util-16.1.17.88 {8.4 compatible formatting of doubles} precision \ 3444 {expr {1e88}} \ 3445 9.9999999999999996e+87 3446test util-16.1.17.89 {8.4 compatible formatting of doubles} precision \ 3447 {expr {1e89}} \ 3448 9.9999999999999999e+88 3449test util-16.1.17.90 {8.4 compatible formatting of doubles} precision \ 3450 {expr {1e90}} \ 3451 9.9999999999999997e+89 3452test util-16.1.17.91 {8.4 compatible formatting of doubles} precision \ 3453 {expr {1e91}} \ 3454 1.0000000000000001e+91 3455test util-16.1.17.92 {8.4 compatible formatting of doubles} precision \ 3456 {expr {1e92}} \ 3457 1e+92 3458test util-16.1.17.93 {8.4 compatible formatting of doubles} precision \ 3459 {expr {1e93}} \ 3460 1e+93 3461test util-16.1.17.94 {8.4 compatible formatting of doubles} precision \ 3462 {expr {1e94}} \ 3463 1e+94 3464test util-16.1.17.95 {8.4 compatible formatting of doubles} precision \ 3465 {expr {1e95}} \ 3466 1e+95 3467test util-16.1.17.96 {8.4 compatible formatting of doubles} precision \ 3468 {expr {1e96}} \ 3469 1e+96 3470test util-16.1.17.97 {8.4 compatible formatting of doubles} precision \ 3471 {expr {1e97}} \ 3472 1.0000000000000001e+97 3473test util-16.1.17.98 {8.4 compatible formatting of doubles} precision \ 3474 {expr {1e98}} \ 3475 1e+98 3476test util-16.1.17.99 {8.4 compatible formatting of doubles} precision \ 3477 {expr {1e99}} \ 3478 9.9999999999999997e+98 3479test util-16.1.17.100 {8.4 compatible formatting of doubles} precision \ 3480 {expr {1e100}} \ 3481 1e+100 3482test util-16.1.17.101 {8.4 compatible formatting of doubles} precision \ 3483 {expr {1e101}} \ 3484 9.9999999999999998e+100 3485test util-16.1.17.102 {8.4 compatible formatting of doubles} precision \ 3486 {expr {1e102}} \ 3487 9.9999999999999998e+101 3488test util-16.1.17.103 {8.4 compatible formatting of doubles} precision \ 3489 {expr {1e103}} \ 3490 1e+103 3491test util-16.1.17.104 {8.4 compatible formatting of doubles} precision \ 3492 {expr {1e104}} \ 3493 1e+104 3494test util-16.1.17.105 {8.4 compatible formatting of doubles} precision \ 3495 {expr {1e105}} \ 3496 9.9999999999999994e+104 3497test util-16.1.17.106 {8.4 compatible formatting of doubles} precision \ 3498 {expr {1e106}} \ 3499 1.0000000000000001e+106 3500test util-16.1.17.107 {8.4 compatible formatting of doubles} precision \ 3501 {expr {1e107}} \ 3502 9.9999999999999997e+106 3503test util-16.1.17.108 {8.4 compatible formatting of doubles} precision \ 3504 {expr {1e108}} \ 3505 1e+108 3506test util-16.1.17.109 {8.4 compatible formatting of doubles} precision \ 3507 {expr {1e109}} \ 3508 9.9999999999999998e+108 3509test util-16.1.17.110 {8.4 compatible formatting of doubles} precision \ 3510 {expr {1e110}} \ 3511 1e+110 3512test util-16.1.17.111 {8.4 compatible formatting of doubles} precision \ 3513 {expr {1e111}} \ 3514 9.9999999999999996e+110 3515test util-16.1.17.112 {8.4 compatible formatting of doubles} precision \ 3516 {expr {1e112}} \ 3517 9.9999999999999993e+111 3518test util-16.1.17.113 {8.4 compatible formatting of doubles} precision \ 3519 {expr {1e113}} \ 3520 1e+113 3521test util-16.1.17.114 {8.4 compatible formatting of doubles} precision \ 3522 {expr {1e114}} \ 3523 1e+114 3524test util-16.1.17.115 {8.4 compatible formatting of doubles} precision \ 3525 {expr {1e115}} \ 3526 1e+115 3527test util-16.1.17.116 {8.4 compatible formatting of doubles} precision \ 3528 {expr {1e116}} \ 3529 1e+116 3530test util-16.1.17.117 {8.4 compatible formatting of doubles} precision \ 3531 {expr {1e117}} \ 3532 1.0000000000000001e+117 3533test util-16.1.17.118 {8.4 compatible formatting of doubles} precision \ 3534 {expr {1e118}} \ 3535 9.9999999999999997e+117 3536test util-16.1.17.119 {8.4 compatible formatting of doubles} precision \ 3537 {expr {1e119}} \ 3538 9.9999999999999994e+118 3539test util-16.1.17.120 {8.4 compatible formatting of doubles} precision \ 3540 {expr {1e120}} \ 3541 9.9999999999999998e+119 3542test util-16.1.17.121 {8.4 compatible formatting of doubles} precision \ 3543 {expr {1e121}} \ 3544 1e+121 3545test util-16.1.17.122 {8.4 compatible formatting of doubles} precision \ 3546 {expr {1e122}} \ 3547 1e+122 3548test util-16.1.17.123 {8.4 compatible formatting of doubles} precision \ 3549 {expr {1e123}} \ 3550 9.9999999999999998e+122 3551test util-16.1.17.124 {8.4 compatible formatting of doubles} precision \ 3552 {expr {1e124}} \ 3553 9.9999999999999995e+123 3554test util-16.1.17.125 {8.4 compatible formatting of doubles} precision \ 3555 {expr {1e125}} \ 3556 9.9999999999999992e+124 3557test util-16.1.17.126 {8.4 compatible formatting of doubles} precision \ 3558 {expr {1e126}} \ 3559 9.9999999999999992e+125 3560test util-16.1.17.127 {8.4 compatible formatting of doubles} precision \ 3561 {expr {1e127}} \ 3562 9.9999999999999995e+126 3563test util-16.1.17.128 {8.4 compatible formatting of doubles} precision \ 3564 {expr {1e128}} \ 3565 1.0000000000000001e+128 3566test util-16.1.17.129 {8.4 compatible formatting of doubles} precision \ 3567 {expr {1e129}} \ 3568 1e+129 3569test util-16.1.17.130 {8.4 compatible formatting of doubles} precision \ 3570 {expr {1e130}} \ 3571 1.0000000000000001e+130 3572test util-16.1.17.131 {8.4 compatible formatting of doubles} precision \ 3573 {expr {1e131}} \ 3574 9.9999999999999991e+130 3575test util-16.1.17.132 {8.4 compatible formatting of doubles} precision \ 3576 {expr {1e132}} \ 3577 9.9999999999999999e+131 3578test util-16.1.17.133 {8.4 compatible formatting of doubles} precision \ 3579 {expr {1e133}} \ 3580 1e+133 3581test util-16.1.17.134 {8.4 compatible formatting of doubles} precision \ 3582 {expr {1e134}} \ 3583 9.9999999999999992e+133 3584test util-16.1.17.135 {8.4 compatible formatting of doubles} precision \ 3585 {expr {1e135}} \ 3586 9.9999999999999996e+134 3587test util-16.1.17.136 {8.4 compatible formatting of doubles} precision \ 3588 {expr {1e136}} \ 3589 1.0000000000000001e+136 3590test util-16.1.17.137 {8.4 compatible formatting of doubles} precision \ 3591 {expr {1e137}} \ 3592 1e+137 3593test util-16.1.17.138 {8.4 compatible formatting of doubles} precision \ 3594 {expr {1e138}} \ 3595 1e+138 3596test util-16.1.17.139 {8.4 compatible formatting of doubles} precision \ 3597 {expr {1e139}} \ 3598 1e+139 3599test util-16.1.17.140 {8.4 compatible formatting of doubles} precision \ 3600 {expr {1e140}} \ 3601 1.0000000000000001e+140 3602test util-16.1.17.141 {8.4 compatible formatting of doubles} precision \ 3603 {expr {1e141}} \ 3604 1e+141 3605test util-16.1.17.142 {8.4 compatible formatting of doubles} precision \ 3606 {expr {1e142}} \ 3607 1.0000000000000001e+142 3608test util-16.1.17.143 {8.4 compatible formatting of doubles} precision \ 3609 {expr {1e143}} \ 3610 1e+143 3611test util-16.1.17.144 {8.4 compatible formatting of doubles} precision \ 3612 {expr {1e144}} \ 3613 1e+144 3614test util-16.1.17.145 {8.4 compatible formatting of doubles} precision \ 3615 {expr {1e145}} \ 3616 9.9999999999999999e+144 3617test util-16.1.17.146 {8.4 compatible formatting of doubles} precision \ 3618 {expr {1e146}} \ 3619 9.9999999999999993e+145 3620test util-16.1.17.147 {8.4 compatible formatting of doubles} precision \ 3621 {expr {1e147}} \ 3622 9.9999999999999998e+146 3623test util-16.1.17.148 {8.4 compatible formatting of doubles} precision \ 3624 {expr {1e148}} \ 3625 1e+148 3626test util-16.1.17.149 {8.4 compatible formatting of doubles} precision \ 3627 {expr {1e149}} \ 3628 1e+149 3629test util-16.1.17.150 {8.4 compatible formatting of doubles} precision \ 3630 {expr {1e150}} \ 3631 9.9999999999999998e+149 3632test util-16.1.17.151 {8.4 compatible formatting of doubles} precision \ 3633 {expr {1e151}} \ 3634 1e+151 3635test util-16.1.17.152 {8.4 compatible formatting of doubles} precision \ 3636 {expr {1e152}} \ 3637 1e+152 3638test util-16.1.17.153 {8.4 compatible formatting of doubles} precision \ 3639 {expr {1e153}} \ 3640 1e+153 3641test util-16.1.17.154 {8.4 compatible formatting of doubles} precision \ 3642 {expr {1e154}} \ 3643 1e+154 3644test util-16.1.17.155 {8.4 compatible formatting of doubles} precision \ 3645 {expr {1e155}} \ 3646 1e+155 3647test util-16.1.17.156 {8.4 compatible formatting of doubles} precision \ 3648 {expr {1e156}} \ 3649 9.9999999999999998e+155 3650test util-16.1.17.157 {8.4 compatible formatting of doubles} precision \ 3651 {expr {1e157}} \ 3652 9.9999999999999998e+156 3653test util-16.1.17.158 {8.4 compatible formatting of doubles} precision \ 3654 {expr {1e158}} \ 3655 9.9999999999999995e+157 3656test util-16.1.17.159 {8.4 compatible formatting of doubles} precision \ 3657 {expr {1e159}} \ 3658 9.9999999999999993e+158 3659test util-16.1.17.160 {8.4 compatible formatting of doubles} precision \ 3660 {expr {1e160}} \ 3661 1e+160 3662test util-16.1.17.161 {8.4 compatible formatting of doubles} precision \ 3663 {expr {1e161}} \ 3664 1e+161 3665test util-16.1.17.162 {8.4 compatible formatting of doubles} precision \ 3666 {expr {1e162}} \ 3667 9.9999999999999994e+161 3668test util-16.1.17.163 {8.4 compatible formatting of doubles} precision \ 3669 {expr {1e163}} \ 3670 9.9999999999999994e+162 3671test util-16.1.17.164 {8.4 compatible formatting of doubles} precision \ 3672 {expr {1e164}} \ 3673 1e+164 3674test util-16.1.17.165 {8.4 compatible formatting of doubles} precision \ 3675 {expr {1e165}} \ 3676 9.999999999999999e+164 3677test util-16.1.17.166 {8.4 compatible formatting of doubles} precision \ 3678 {expr {1e166}} \ 3679 9.9999999999999994e+165 3680test util-16.1.17.167 {8.4 compatible formatting of doubles} precision \ 3681 {expr {1e167}} \ 3682 1e+167 3683test util-16.1.17.168 {8.4 compatible formatting of doubles} precision \ 3684 {expr {1e168}} \ 3685 9.9999999999999993e+167 3686test util-16.1.17.169 {8.4 compatible formatting of doubles} precision \ 3687 {expr {1e169}} \ 3688 9.9999999999999993e+168 3689test util-16.1.17.170 {8.4 compatible formatting of doubles} precision \ 3690 {expr {1e170}} \ 3691 1e+170 3692test util-16.1.17.171 {8.4 compatible formatting of doubles} precision \ 3693 {expr {1e171}} \ 3694 9.9999999999999995e+170 3695test util-16.1.17.172 {8.4 compatible formatting of doubles} precision \ 3696 {expr {1e172}} \ 3697 1.0000000000000001e+172 3698test util-16.1.17.173 {8.4 compatible formatting of doubles} precision \ 3699 {expr {1e173}} \ 3700 1e+173 3701test util-16.1.17.174 {8.4 compatible formatting of doubles} precision \ 3702 {expr {1e174}} \ 3703 1.0000000000000001e+174 3704test util-16.1.17.175 {8.4 compatible formatting of doubles} precision \ 3705 {expr {1e175}} \ 3706 9.9999999999999994e+174 3707test util-16.1.17.176 {8.4 compatible formatting of doubles} precision \ 3708 {expr {1e176}} \ 3709 1e+176 3710test util-16.1.17.177 {8.4 compatible formatting of doubles} precision \ 3711 {expr {1e177}} \ 3712 1e+177 3713test util-16.1.17.178 {8.4 compatible formatting of doubles} precision \ 3714 {expr {1e178}} \ 3715 1.0000000000000001e+178 3716test util-16.1.17.179 {8.4 compatible formatting of doubles} precision \ 3717 {expr {1e179}} \ 3718 9.9999999999999998e+178 3719test util-16.1.17.180 {8.4 compatible formatting of doubles} precision \ 3720 {expr {1e180}} \ 3721 1e+180 3722test util-16.1.17.181 {8.4 compatible formatting of doubles} precision \ 3723 {expr {1e181}} \ 3724 9.9999999999999992e+180 3725test util-16.1.17.182 {8.4 compatible formatting of doubles} precision \ 3726 {expr {1e182}} \ 3727 1.0000000000000001e+182 3728test util-16.1.17.183 {8.4 compatible formatting of doubles} precision \ 3729 {expr {1e183}} \ 3730 9.9999999999999995e+182 3731test util-16.1.17.184 {8.4 compatible formatting of doubles} precision \ 3732 {expr {1e184}} \ 3733 1e+184 3734test util-16.1.17.185 {8.4 compatible formatting of doubles} precision \ 3735 {expr {1e185}} \ 3736 9.9999999999999998e+184 3737test util-16.1.17.186 {8.4 compatible formatting of doubles} precision \ 3738 {expr {1e186}} \ 3739 9.9999999999999998e+185 3740test util-16.1.17.187 {8.4 compatible formatting of doubles} precision \ 3741 {expr {1e187}} \ 3742 9.9999999999999991e+186 3743test util-16.1.17.188 {8.4 compatible formatting of doubles} precision \ 3744 {expr {1e188}} \ 3745 1e+188 3746test util-16.1.17.189 {8.4 compatible formatting of doubles} precision \ 3747 {expr {1e189}} \ 3748 1e+189 3749test util-16.1.17.190 {8.4 compatible formatting of doubles} precision \ 3750 {expr {1e190}} \ 3751 1.0000000000000001e+190 3752test util-16.1.17.191 {8.4 compatible formatting of doubles} precision \ 3753 {expr {1e191}} \ 3754 1.0000000000000001e+191 3755test util-16.1.17.192 {8.4 compatible formatting of doubles} precision \ 3756 {expr {1e192}} \ 3757 1e+192 3758test util-16.1.17.193 {8.4 compatible formatting of doubles} precision \ 3759 {expr {1e193}} \ 3760 1.0000000000000001e+193 3761test util-16.1.17.194 {8.4 compatible formatting of doubles} precision \ 3762 {expr {1e194}} \ 3763 9.9999999999999994e+193 3764test util-16.1.17.195 {8.4 compatible formatting of doubles} precision \ 3765 {expr {1e195}} \ 3766 9.9999999999999998e+194 3767test util-16.1.17.196 {8.4 compatible formatting of doubles} precision \ 3768 {expr {1e196}} \ 3769 9.9999999999999995e+195 3770test util-16.1.17.197 {8.4 compatible formatting of doubles} precision \ 3771 {expr {1e197}} \ 3772 9.9999999999999995e+196 3773test util-16.1.17.198 {8.4 compatible formatting of doubles} precision \ 3774 {expr {1e198}} \ 3775 1e+198 3776test util-16.1.17.199 {8.4 compatible formatting of doubles} precision \ 3777 {expr {1e199}} \ 3778 1.0000000000000001e+199 3779test util-16.1.17.200 {8.4 compatible formatting of doubles} precision \ 3780 {expr {1e200}} \ 3781 9.9999999999999997e+199 3782test util-16.1.17.201 {8.4 compatible formatting of doubles} precision \ 3783 {expr {1e201}} \ 3784 1e+201 3785test util-16.1.17.202 {8.4 compatible formatting of doubles} precision \ 3786 {expr {1e202}} \ 3787 9.999999999999999e+201 3788test util-16.1.17.203 {8.4 compatible formatting of doubles} precision \ 3789 {expr {1e203}} \ 3790 9.9999999999999999e+202 3791test util-16.1.17.204 {8.4 compatible formatting of doubles} precision \ 3792 {expr {1e204}} \ 3793 9.9999999999999999e+203 3794test util-16.1.17.205 {8.4 compatible formatting of doubles} precision \ 3795 {expr {1e205}} \ 3796 1e+205 3797test util-16.1.17.206 {8.4 compatible formatting of doubles} precision \ 3798 {expr {1e206}} \ 3799 1e+206 3800test util-16.1.17.207 {8.4 compatible formatting of doubles} precision \ 3801 {expr {1e207}} \ 3802 1e+207 3803test util-16.1.17.208 {8.4 compatible formatting of doubles} precision \ 3804 {expr {1e208}} \ 3805 9.9999999999999998e+207 3806test util-16.1.17.209 {8.4 compatible formatting of doubles} precision \ 3807 {expr {1e209}} \ 3808 1.0000000000000001e+209 3809test util-16.1.17.210 {8.4 compatible formatting of doubles} precision \ 3810 {expr {1e210}} \ 3811 9.9999999999999993e+209 3812test util-16.1.17.211 {8.4 compatible formatting of doubles} precision \ 3813 {expr {1e211}} \ 3814 9.9999999999999996e+210 3815test util-16.1.17.212 {8.4 compatible formatting of doubles} precision \ 3816 {expr {1e212}} \ 3817 9.9999999999999991e+211 3818test util-16.1.17.213 {8.4 compatible formatting of doubles} precision \ 3819 {expr {1e213}} \ 3820 9.9999999999999998e+212 3821test util-16.1.17.214 {8.4 compatible formatting of doubles} precision \ 3822 {expr {1e214}} \ 3823 9.9999999999999995e+213 3824test util-16.1.17.215 {8.4 compatible formatting of doubles} precision \ 3825 {expr {1e215}} \ 3826 9.9999999999999991e+214 3827test util-16.1.17.216 {8.4 compatible formatting of doubles} precision \ 3828 {expr {1e216}} \ 3829 1e+216 3830test util-16.1.17.217 {8.4 compatible formatting of doubles} precision \ 3831 {expr {1e217}} \ 3832 9.9999999999999996e+216 3833test util-16.1.17.218 {8.4 compatible formatting of doubles} precision \ 3834 {expr {1e218}} \ 3835 1.0000000000000001e+218 3836test util-16.1.17.219 {8.4 compatible formatting of doubles} precision \ 3837 {expr {1e219}} \ 3838 9.9999999999999997e+218 3839test util-16.1.17.220 {8.4 compatible formatting of doubles} precision \ 3840 {expr {1e220}} \ 3841 1e+220 3842test util-16.1.17.221 {8.4 compatible formatting of doubles} precision \ 3843 {expr {1e221}} \ 3844 1e+221 3845test util-16.1.17.222 {8.4 compatible formatting of doubles} precision \ 3846 {expr {1e222}} \ 3847 1e+222 3848test util-16.1.17.223 {8.4 compatible formatting of doubles} precision \ 3849 {expr {1e223}} \ 3850 1e+223 3851test util-16.1.17.224 {8.4 compatible formatting of doubles} precision \ 3852 {expr {1e224}} \ 3853 9.9999999999999997e+223 3854test util-16.1.17.225 {8.4 compatible formatting of doubles} precision \ 3855 {expr {1e225}} \ 3856 9.9999999999999993e+224 3857test util-16.1.17.226 {8.4 compatible formatting of doubles} precision \ 3858 {expr {1e226}} \ 3859 9.9999999999999996e+225 3860test util-16.1.17.227 {8.4 compatible formatting of doubles} precision \ 3861 {expr {1e227}} \ 3862 1.0000000000000001e+227 3863test util-16.1.17.228 {8.4 compatible formatting of doubles} precision \ 3864 {expr {1e228}} \ 3865 9.9999999999999992e+227 3866test util-16.1.17.229 {8.4 compatible formatting of doubles} precision \ 3867 {expr {1e229}} \ 3868 9.9999999999999999e+228 3869test util-16.1.17.230 {8.4 compatible formatting of doubles} precision \ 3870 {expr {1e230}} \ 3871 1.0000000000000001e+230 3872test util-16.1.17.231 {8.4 compatible formatting of doubles} precision \ 3873 {expr {1e231}} \ 3874 1.0000000000000001e+231 3875test util-16.1.17.232 {8.4 compatible formatting of doubles} precision \ 3876 {expr {1e232}} \ 3877 1.0000000000000001e+232 3878test util-16.1.17.233 {8.4 compatible formatting of doubles} precision \ 3879 {expr {1e233}} \ 3880 9.9999999999999997e+232 3881test util-16.1.17.234 {8.4 compatible formatting of doubles} precision \ 3882 {expr {1e234}} \ 3883 1e+234 3884test util-16.1.17.235 {8.4 compatible formatting of doubles} precision \ 3885 {expr {1e235}} \ 3886 1.0000000000000001e+235 3887test util-16.1.17.236 {8.4 compatible formatting of doubles} precision \ 3888 {expr {1e236}} \ 3889 1.0000000000000001e+236 3890test util-16.1.17.237 {8.4 compatible formatting of doubles} precision \ 3891 {expr {1e237}} \ 3892 9.9999999999999994e+236 3893test util-16.1.17.238 {8.4 compatible formatting of doubles} precision \ 3894 {expr {1e238}} \ 3895 1e+238 3896test util-16.1.17.239 {8.4 compatible formatting of doubles} precision \ 3897 {expr {1e239}} \ 3898 9.9999999999999999e+238 3899test util-16.1.17.240 {8.4 compatible formatting of doubles} precision \ 3900 {expr {1e240}} \ 3901 1e+240 3902test util-16.1.17.241 {8.4 compatible formatting of doubles} precision \ 3903 {expr {1e241}} \ 3904 1.0000000000000001e+241 3905test util-16.1.17.242 {8.4 compatible formatting of doubles} precision \ 3906 {expr {1e242}} \ 3907 1.0000000000000001e+242 3908test util-16.1.17.243 {8.4 compatible formatting of doubles} precision \ 3909 {expr {1e243}} \ 3910 1.0000000000000001e+243 3911test util-16.1.17.244 {8.4 compatible formatting of doubles} precision \ 3912 {expr {1e244}} \ 3913 1.0000000000000001e+244 3914test util-16.1.17.245 {8.4 compatible formatting of doubles} precision \ 3915 {expr {1e245}} \ 3916 1e+245 3917test util-16.1.17.246 {8.4 compatible formatting of doubles} precision \ 3918 {expr {1e246}} \ 3919 1.0000000000000001e+246 3920test util-16.1.17.247 {8.4 compatible formatting of doubles} precision \ 3921 {expr {1e247}} \ 3922 9.9999999999999995e+246 3923test util-16.1.17.248 {8.4 compatible formatting of doubles} precision \ 3924 {expr {1e248}} \ 3925 1e+248 3926test util-16.1.17.249 {8.4 compatible formatting of doubles} precision \ 3927 {expr {1e249}} \ 3928 9.9999999999999992e+248 3929test util-16.1.17.250 {8.4 compatible formatting of doubles} precision \ 3930 {expr {1e250}} \ 3931 9.9999999999999992e+249 3932test util-16.1.17.251 {8.4 compatible formatting of doubles} precision \ 3933 {expr {1e251}} \ 3934 1e+251 3935test util-16.1.17.252 {8.4 compatible formatting of doubles} precision \ 3936 {expr {1e252}} \ 3937 1.0000000000000001e+252 3938test util-16.1.17.253 {8.4 compatible formatting of doubles} precision \ 3939 {expr {1e253}} \ 3940 9.9999999999999994e+252 3941test util-16.1.17.254 {8.4 compatible formatting of doubles} precision \ 3942 {expr {1e254}} \ 3943 9.9999999999999994e+253 3944test util-16.1.17.255 {8.4 compatible formatting of doubles} precision \ 3945 {expr {1e255}} \ 3946 9.9999999999999999e+254 3947test util-16.1.17.256 {8.4 compatible formatting of doubles} precision \ 3948 {expr {1e256}} \ 3949 1e+256 3950test util-16.1.17.257 {8.4 compatible formatting of doubles} precision \ 3951 {expr {1e257}} \ 3952 1e+257 3953test util-16.1.17.258 {8.4 compatible formatting of doubles} precision \ 3954 {expr {1e258}} \ 3955 1.0000000000000001e+258 3956test util-16.1.17.259 {8.4 compatible formatting of doubles} precision \ 3957 {expr {1e259}} \ 3958 9.9999999999999993e+258 3959test util-16.1.17.260 {8.4 compatible formatting of doubles} precision \ 3960 {expr {1e260}} \ 3961 1.0000000000000001e+260 3962test util-16.1.17.261 {8.4 compatible formatting of doubles} precision \ 3963 {expr {1e261}} \ 3964 9.9999999999999993e+260 3965test util-16.1.17.262 {8.4 compatible formatting of doubles} precision \ 3966 {expr {1e262}} \ 3967 1e+262 3968test util-16.1.17.263 {8.4 compatible formatting of doubles} precision \ 3969 {expr {1e263}} \ 3970 1e+263 3971test util-16.1.17.264 {8.4 compatible formatting of doubles} precision \ 3972 {expr {1e264}} \ 3973 1e+264 3974test util-16.1.17.265 {8.4 compatible formatting of doubles} precision \ 3975 {expr {1e265}} \ 3976 1.0000000000000001e+265 3977test util-16.1.17.266 {8.4 compatible formatting of doubles} precision \ 3978 {expr {1e266}} \ 3979 1e+266 3980test util-16.1.17.267 {8.4 compatible formatting of doubles} precision \ 3981 {expr {1e267}} \ 3982 9.9999999999999997e+266 3983test util-16.1.17.268 {8.4 compatible formatting of doubles} precision \ 3984 {expr {1e268}} \ 3985 9.9999999999999997e+267 3986test util-16.1.17.269 {8.4 compatible formatting of doubles} precision \ 3987 {expr {1e269}} \ 3988 1e+269 3989test util-16.1.17.270 {8.4 compatible formatting of doubles} precision \ 3990 {expr {1e270}} \ 3991 1e+270 3992test util-16.1.17.271 {8.4 compatible formatting of doubles} precision \ 3993 {expr {1e271}} \ 3994 9.9999999999999995e+270 3995test util-16.1.17.272 {8.4 compatible formatting of doubles} precision \ 3996 {expr {1e272}} \ 3997 1.0000000000000001e+272 3998test util-16.1.17.273 {8.4 compatible formatting of doubles} precision \ 3999 {expr {1e273}} \ 4000 9.9999999999999995e+272 4001test util-16.1.17.274 {8.4 compatible formatting of doubles} precision \ 4002 {expr {1e274}} \ 4003 9.9999999999999992e+273 4004test util-16.1.17.275 {8.4 compatible formatting of doubles} precision \ 4005 {expr {1e275}} \ 4006 9.9999999999999996e+274 4007test util-16.1.17.276 {8.4 compatible formatting of doubles} precision \ 4008 {expr {1e276}} \ 4009 1.0000000000000001e+276 4010test util-16.1.17.277 {8.4 compatible formatting of doubles} precision \ 4011 {expr {1e277}} \ 4012 1e+277 4013test util-16.1.17.278 {8.4 compatible formatting of doubles} precision \ 4014 {expr {1e278}} \ 4015 9.9999999999999996e+277 4016test util-16.1.17.279 {8.4 compatible formatting of doubles} precision \ 4017 {expr {1e279}} \ 4018 1.0000000000000001e+279 4019test util-16.1.17.280 {8.4 compatible formatting of doubles} precision \ 4020 {expr {1e280}} \ 4021 1e+280 4022test util-16.1.17.281 {8.4 compatible formatting of doubles} precision \ 4023 {expr {1e281}} \ 4024 1e+281 4025test util-16.1.17.282 {8.4 compatible formatting of doubles} precision \ 4026 {expr {1e282}} \ 4027 1e+282 4028test util-16.1.17.283 {8.4 compatible formatting of doubles} precision \ 4029 {expr {1e283}} \ 4030 9.9999999999999996e+282 4031test util-16.1.17.284 {8.4 compatible formatting of doubles} precision \ 4032 {expr {1e284}} \ 4033 1.0000000000000001e+284 4034test util-16.1.17.285 {8.4 compatible formatting of doubles} precision \ 4035 {expr {1e285}} \ 4036 9.9999999999999998e+284 4037test util-16.1.17.286 {8.4 compatible formatting of doubles} precision \ 4038 {expr {1e286}} \ 4039 1e+286 4040test util-16.1.17.287 {8.4 compatible formatting of doubles} precision \ 4041 {expr {1e287}} \ 4042 1.0000000000000001e+287 4043test util-16.1.17.288 {8.4 compatible formatting of doubles} precision \ 4044 {expr {1e288}} \ 4045 1e+288 4046test util-16.1.17.289 {8.4 compatible formatting of doubles} precision \ 4047 {expr {1e289}} \ 4048 1.0000000000000001e+289 4049test util-16.1.17.290 {8.4 compatible formatting of doubles} precision \ 4050 {expr {1e290}} \ 4051 1.0000000000000001e+290 4052test util-16.1.17.291 {8.4 compatible formatting of doubles} precision \ 4053 {expr {1e291}} \ 4054 9.9999999999999996e+290 4055test util-16.1.17.292 {8.4 compatible formatting of doubles} precision \ 4056 {expr {1e292}} \ 4057 1e+292 4058test util-16.1.17.293 {8.4 compatible formatting of doubles} precision \ 4059 {expr {1e293}} \ 4060 9.9999999999999992e+292 4061test util-16.1.17.294 {8.4 compatible formatting of doubles} precision \ 4062 {expr {1e294}} \ 4063 1.0000000000000001e+294 4064test util-16.1.17.295 {8.4 compatible formatting of doubles} precision \ 4065 {expr {1e295}} \ 4066 9.9999999999999998e+294 4067test util-16.1.17.296 {8.4 compatible formatting of doubles} precision \ 4068 {expr {1e296}} \ 4069 9.9999999999999998e+295 4070test util-16.1.17.297 {8.4 compatible formatting of doubles} precision \ 4071 {expr {1e297}} \ 4072 1e+297 4073test util-16.1.17.298 {8.4 compatible formatting of doubles} precision \ 4074 {expr {1e298}} \ 4075 9.9999999999999996e+297 4076test util-16.1.17.299 {8.4 compatible formatting of doubles} precision \ 4077 {expr {1e299}} \ 4078 1.0000000000000001e+299 4079test util-16.1.17.300 {8.4 compatible formatting of doubles} precision \ 4080 {expr {1e300}} \ 4081 1.0000000000000001e+300 4082test util-16.1.17.301 {8.4 compatible formatting of doubles} precision \ 4083 {expr {1e301}} \ 4084 1.0000000000000001e+301 4085test util-16.1.17.302 {8.4 compatible formatting of doubles} precision \ 4086 {expr {1e302}} \ 4087 1.0000000000000001e+302 4088test util-16.1.17.303 {8.4 compatible formatting of doubles} precision \ 4089 {expr {1e303}} \ 4090 1e+303 4091test util-16.1.17.304 {8.4 compatible formatting of doubles} precision \ 4092 {expr {1e304}} \ 4093 9.9999999999999994e+303 4094test util-16.1.17.305 {8.4 compatible formatting of doubles} precision \ 4095 {expr {1e305}} \ 4096 9.9999999999999994e+304 4097test util-16.1.17.306 {8.4 compatible formatting of doubles} precision \ 4098 {expr {1e306}} \ 4099 1e+306 4100test util-16.1.17.307 {8.4 compatible formatting of doubles} precision \ 4101 {expr {1e307}} \ 4102 9.9999999999999999e+306 4103 4104test util-17.1 {bankers' rounding [Bug 3349507]} {ieeeFloatingPoint} { 4105 set r {} 4106 foreach {input} { 4107 0x1ffffffffffffc000 4108 0x1ffffffffffffc800 4109 0x1ffffffffffffd000 4110 0x1ffffffffffffd800 4111 0x1ffffffffffffe000 4112 0x1ffffffffffffe800 4113 0x1fffffffffffff000 4114 0x1fffffffffffff800 4115 } { 4116 binary scan [binary format q [expr {double($input)}]] wu x 4117 lappend r [format %#llx $x] 4118 binary scan [binary format q [expr {double(-$input)}]] wu x 4119 lappend r [format %#llx $x] 4120 } 4121 set r 4122} [list {*}{ 4123 0x43fffffffffffffc 0xc3fffffffffffffc 4124 0x43fffffffffffffc 0xc3fffffffffffffc 4125 0x43fffffffffffffd 0xc3fffffffffffffd 4126 0x43fffffffffffffe 0xc3fffffffffffffe 4127 0x43fffffffffffffe 0xc3fffffffffffffe 4128 0x43fffffffffffffe 0xc3fffffffffffffe 4129 0x43ffffffffffffff 0xc3ffffffffffffff 4130 0x4400000000000000 0xc400000000000000 4131}] 4132 4133test util-18.1 {Tcl_ObjPrintf} {testprint} { 4134 testprint %lld [expr {2**63-1}] 4135} {9223372036854775807} 4136 4137test util-18.2 {Tcl_ObjPrintf} {testprint} { 4138 testprint %I64d [expr {2**63-1}] 4139} {9223372036854775807} 4140 4141test util-18.3 {Tcl_ObjPrintf} {testprint} { 4142 testprint %qd [expr {2**63-1}] 4143} {9223372036854775807} 4144 4145test util-18.4 {Tcl_ObjPrintf} {testprint} { 4146 testprint %jd [expr {2**63-1}] 4147} {9223372036854775807} 4148 4149test util-18.5 {Tcl_ObjPrintf} {testprint} { 4150 testprint %lld [expr {-2**63}] 4151} {-9223372036854775808} 4152 4153test util-18.6 {Tcl_ObjPrintf} {testprint} { 4154 testprint %I64d [expr {-2**63}] 4155} {-9223372036854775808} 4156 4157test util-18.7 {Tcl_ObjPrintf} {testprint} { 4158 testprint %qd [expr {-2**63}] 4159} {-9223372036854775808} 4160 4161test util-18.8 {Tcl_ObjPrintf} {testprint} { 4162 testprint %jd [expr {-2**63}] 4163} {-9223372036854775808} 4164 4165test util-18.9 {Tcl_ObjPrintf} {testprint} { 4166 testprint "%I64d %I32d" [expr {-2**63+2}] 4167} {-9223372036854775806 2} 4168 4169test util-18.10 {Tcl_ObjPrintf} {testprint} { 4170 testprint "%I64d %p" 65535 4171} {65535 0xffff} 4172 4173test util-18.11 {Tcl_ObjPrintf} {testprint} { 4174 testprint "%I64d %td" 65536 4175} {65536 65536} 4176 4177test util-18.12 {Tcl_ObjPrintf} {testprint} { 4178 testprint "%I64d %Id" 65537 4179} {65537 65537} 4180 4181if {[catch {set ::tcl_precision $saved_precision}]} { 4182 unset ::tcl_precision 4183} 4184 4185# cleanup 4186::tcltest::cleanupTests 4187return 4188 4189# Local Variables: 4190# mode: tcl 4191# End: 4192