OSDN Git Service

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