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