diff options
Diffstat (limited to 'tcl8.6/tests/expr.test')
-rw-r--r-- | tcl8.6/tests/expr.test | 7221 |
1 files changed, 7221 insertions, 0 deletions
diff --git a/tcl8.6/tests/expr.test b/tcl8.6/tests/expr.test new file mode 100644 index 0000000..a265ac6 --- /dev/null +++ b/tcl8.6/tests/expr.test @@ -0,0 +1,7221 @@ +# Commands covered: expr +# +# This file contains a collection of tests for one or more of the Tcl +# built-in commands. Sourcing this file into Tcl runs the tests and +# generates output for errors. No output means no errors were found. +# +# Copyright (c) 1996-1997 Sun Microsystems, Inc. +# Copyright (c) 1998-2000 by Scriptics Corporation. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest 2.1 + namespace import -force ::tcltest::* +} + +::tcltest::loadTestedCommands +catch [list package require -exact Tcltest [info patchlevel]] + +testConstraint testmathfunctions [expr { + ([catch {expr T1()} msg] != 1) || ($msg ne {invalid command name "tcl::mathfunc::T1"}) +}] + +# Determine if "long int" type is a 32 bit number and if the wide +# type is a 64 bit number on this machine. + +testConstraint longIs32bit [expr {int(0x80000000) < 0}] +testConstraint longIs64bit [expr {int(0x8000000000000000) < 0}] +testConstraint wideIs64bit \ + [expr {(wide(0x80000000) > 0) && (wide(0x8000000000000000) < 0)}] + +# Big test for correct ordering of data in [expr] + +proc testIEEE {} { + variable ieeeValues + binary scan [binary format dd -1.0 1.0] c* c + switch -exact -- $c { + {0 0 0 0 0 0 -16 -65 0 0 0 0 0 0 -16 63} { + # little endian + binary scan \x00\x00\x00\x00\x00\x00\xf0\xff d \ + ieeeValues(-Infinity) + binary scan \x00\x00\x00\x00\x00\x00\xf0\xbf d \ + ieeeValues(-Normal) + binary scan \x00\x00\x00\x00\x00\x00\x08\x80 d \ + ieeeValues(-Subnormal) + binary scan \x00\x00\x00\x00\x00\x00\x00\x80 d \ + ieeeValues(-0) + binary scan \x00\x00\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(+0) + binary scan \x00\x00\x00\x00\x00\x00\x08\x00 d \ + ieeeValues(+Subnormal) + binary scan \x00\x00\x00\x00\x00\x00\xf0\x3f d \ + ieeeValues(+Normal) + binary scan \x00\x00\x00\x00\x00\x00\xf0\x7f d \ + ieeeValues(+Infinity) + binary scan \x00\x00\x00\x00\x00\x00\xf8\x7f d \ + ieeeValues(NaN) + binary scan \x00\x00\x00\x00\x00\x00\xf8\xff d \ + ieeeValues(-NaN) + set ieeeValues(littleEndian) 1 + return 1 + } + {-65 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0} { + binary scan \xff\xf0\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(-Infinity) + binary scan \xbf\xf0\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(-Normal) + binary scan \x80\x08\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(-Subnormal) + binary scan \x80\x00\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(-0) + binary scan \x00\x00\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(+0) + binary scan \x00\x08\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(+Subnormal) + binary scan \x3f\xf0\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(+Normal) + binary scan \x7f\xf0\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(+Infinity) + binary scan \x7f\xf8\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(NaN) + binary scan \xff\xf8\x00\x00\x00\x00\x00\x00 d \ + ieeeValues(-NaN) + set ieeeValues(littleEndian) 0 + return 1 + } + default { + return 0 + } + } +} + +testConstraint ieeeFloatingPoint [testIEEE] +# procedures used below + +proc put_hello_char {c} { + global a + append a [format %c $c] + return $c +} +proc hello_world {} { + global a + set a "" + set L1 [set l0 [set h_1 [set q 0]]] + for {put_hello_char [expr [put_hello_char [expr [set h 7]*10+2]]+29]} {$l0?[put_hello_char $l0] + :!$h_1} {put_hello_char $ll;expr {$L1==2?[set ll [expr 32+0-0+[set bar 0]]]:0}} {expr {[incr L1]==[expr 1+([string length "abc"]-[string length "abc"])] + ?[set ll [set l0 [expr 54<<1]]]:$ll==108&&$L1<3? + [incr ll [expr 1|1<<1]; set ll $ll; set ll $ll; set ll $ll; set ll $ll; set l0 [expr ([string length "abc"]-[string length "abc"])+([string length "abc"]-[string length "abc"])-([string length "abc"]-[string length "abc"])+([string length "abc"]-[string length "abc"])]; set l0; set l0 $l0; set l0; set l0]:$L1==4&&$ll==32?[set ll [expr 19+$h1+([string length "abc"]-[string length "abc"])-([string length "abc"]-[string length "abc"])+([string length "abc"]-[string length "abc"])-([string length "abc"]-[string length "abc"])+[set foo [expr ([string length "abc"]-[string length "abc"])+([string length "abc"]-[string length "abc"])+([string length "abc"]-[string length "abc"])]]]] + :[set q [expr $q-$h1+([string length "abc"]-[string length "abc"])-([string length "abc"]-[string length "abc"])]]};expr {$L1==5?[incr ll -8; set ll $ll; set ll]:$q&&$h1&&1};expr {$L1==4+2 + ?[incr ll 3]:[expr ([string length "abc"]-[string length "abc"])+1]};expr {$ll==($h<<4)+2+0&&$L1!=6?[incr ll -6]:[set h1 [expr 100+([string length "abc"]-[string length "abc"])-([string length "abc"]-[string length "abc"])]]} + expr {$L1!=1<<3?[incr q [expr ([string length "abc"]-[string length "abc"])-1]]:[set h_1 [set ll $h1]]} + } + set a +} + +proc 12days {a b c} { + global xxx + expr {1<$a?[expr {$a<3?[12days -79 -13 [string range $c [12days -87 \ + [expr 1-$b] [string range $c [12days -86 0 [string range $c 1 end]] \ + end]] end]]:1};expr {$a<$b?[12days [expr $a+1] $b $c]:3};expr {[12days \ + -94 [expr $a-27] $c]&&$a==2?$b<13?[12days 2 [expr $b+1] "%s %d %d\n"]:9 + :16}]:$a<0?$a<-72?[12days $b $a "@n'+,#'/*\{\}w+/w#cdnr/+,\{\}r/*de\}+,/*\{*+,/w\{%+,/w#q#n+,/#\{l+,/n\{n+,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,\}\{w+K w'K:'+\}e#';dq#'l q#'+d'K#!/+k#;q#'r\}eKK#\}w'r\}eKK\{nl\]'/#;#q#n')\{)#\}w')\{)\{nl\]'/+#n';d\}rw' i;# )\{nl\]!/n\{n#'; r\{#w'r nc\{nl\]'/#\{l,+'K \{rw' iK\{;\[\{nl\]'/w#q#n'wk nw' iwk\{KK\{nl\]!/w\{%'l##w#' i; :\{nl\]'/*\{q#'ld;r'\}\{nlwb!/*de\}'c ;;\{nl'-\{\}rw\]'/+,\}##'*\}#nc,',#nw\]'/+kd'+e\}+;#'rdq#w! nr'/ ') \}+\}\{rl#'\{n' ')# \}'+\}##(!!/"] + :$a<-50?[string compare [format %c $b] [string index $c 0]]==0?[append \ + xxx [string index $c 31];scan [string index $c 31] %c x;set x] + :[12days -65 $b [string range $c 1 end]]:[12days [expr ([string compare \ + [string index $c 0] "/"]==0)+$a] $b [string range $c 1 end]]:0<$a + ?[12days 2 2 "%s"]:[string compare [string index $c 0] "/"]==0|| + [12days 0 [12days -61 [scan [string index $c 0] %c x; set x] \ + "!ek;dc i@bK'(q)-\[w\]*%n+r3#l,\{\}:\nuwloca-O;m .vpbks,fxntdCeghiry"] \ + [string range $c 1 end]]} +} +proc do_twelve_days {} { + global xxx + set xxx "" + 12days 1 1 1 + set result [string length $xxx] + unset xxx + return $result +} + +# start of tests + +catch {unset a b i x} + +test expr-1.1 {TclCompileExprCmd: no expression} { + list [catch {expr } msg] $msg +} {1 {wrong # args: should be "expr arg ?arg ...?"}} +test expr-1.2 {TclCompileExprCmd: one expression word} { + expr -25 +} -25 +test expr-1.3 {TclCompileExprCmd: two expression words} { + expr -8.2 -6 +} -14.2 +test expr-1.4 {TclCompileExprCmd: five expression words} { + expr 20 - 5 +10 -7 +} 18 +test expr-1.5 {TclCompileExprCmd: quoted expression word} { + expr "0005" +} 5 +test expr-1.6 {TclCompileExprCmd: quoted expression word} { + catch {expr "0005"zxy} msg + set msg +} {extra characters after close-quote} +test expr-1.7 {TclCompileExprCmd: expression word in braces} { + expr {-0005} +} -5 +test expr-1.8 {TclCompileExprCmd: expression word in braces} { + expr {{-0x1234}} +} -4660 +test expr-1.9 {TclCompileExprCmd: expression word in braces} { + catch {expr {-0005}foo} msg + set msg +} {extra characters after close-brace} +test expr-1.10 {TclCompileExprCmd: other expression word in braces} { + expr 4*[llength "6 2"] +} 8 +test expr-1.11 {TclCompileExprCmd: expression word terminated by ;} { + expr 4*[llength "6 2"]; +} 8 +test expr-1.12 {TclCompileExprCmd: inlined expr (in "catch") inside other catch} { + set a xxx + catch { + # Might not be a number + set a [expr 10*$a] + } +} 1 +test expr-1.13 {TclCompileExprCmd: second level of substitutions in expr not in braces with single var reference} { + set a xxx + set x 27; set bool {$x}; if $bool {set a foo} + set a +} foo +test expr-1.14 {TclCompileExprCmd: second level of substitutions in expr with comparison as top-level operator} { + set a xxx + set x 2; set b {$x}; set a [expr $b == 2] + set a +} 1 +test expr-1.15 {TclCompileExprCmd: second level of substitutions in expr with comparison as top-level operator} { + set a xxx + set x 2; set b {$x}; set a [expr $b eq 2] + set a +} 1 + +test expr-2.1 {TclCompileExpr: are builtin functions registered?} { + expr double(5*[llength "6 2"]) +} 10.0 +test expr-2.2 {TclCompileExpr: error in expr} -body { + expr 2***3 +} -returnCodes error -match glob -result * +test expr-2.3 {TclCompileExpr: junk after legal expr} -body { + expr 7*[llength "a b"]foo +} -returnCodes error -match glob -result * +test expr-2.4 {TclCompileExpr: numeric expr string rep == formatted int rep} { + expr {0001} +} 1 + +test expr-3.1 {CompileCondExpr: just lor expr} {expr 3||0} 1 +test expr-3.2 {CompileCondExpr: error in lor expr} -body { + expr x||3 +} -returnCodes error -match glob -result * +test expr-3.3 {CompileCondExpr: test true arm} {expr 3>2?44:66} 44 +test expr-3.4 {CompileCondExpr: error compiling true arm} -body { + expr 3>2?2***3:66 +} -returnCodes error -match glob -result * +test expr-3.5 {CompileCondExpr: test false arm} {expr 2>3?44:66} 66 +test expr-3.6 {CompileCondExpr: error compiling false arm} -body { + expr 2>3?44:2***3 +} -returnCodes error -match glob -result * +test expr-3.7 {CompileCondExpr: long arms & nested cond exprs} { + hello_world +} {Hello world} +test expr-3.8 {CompileCondExpr: long arms & nested cond exprs} unix { + # Fails with a stack overflow on threaded Windows builds + do_twelve_days +} 2358 + +test expr-4.1 {CompileLorExpr: just land expr} {expr 1.3&&3.3} 1 +test expr-4.2 {CompileLorExpr: error in land expr} -body { + expr x&&3 +} -returnCodes error -match glob -result * +test expr-4.3 {CompileLorExpr: simple lor exprs} {expr 0||1.0} 1 +test expr-4.4 {CompileLorExpr: simple lor exprs} {expr 3.0||0.0} 1 +test expr-4.5 {CompileLorExpr: simple lor exprs} {expr 0||0||1} 1 +test expr-4.6 {CompileLorExpr: error compiling lor arm} -body { + expr 2***3||4.0 +} -returnCodes error -match glob -result * +test expr-4.7 {CompileLorExpr: error compiling lor arm} -body { + expr 1.3||2***3 +} -returnCodes error -match glob -result * +test expr-4.8 {CompileLorExpr: error compiling lor arms} { + list [catch {expr {"a"||"b"}} msg] $msg +} {1 {expected boolean value but got "a"}} +test expr-4.9 {CompileLorExpr: long lor arm} { + set a "abcdefghijkl" + set i 7 + expr {[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]] || [string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]] || [string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]] || [string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]&&[string compare [format %c $i] [string index $a $i]]} +} 1 +test expr-4.10 {CompileLorExpr: error compiling ! operand} { + list [catch {expr {!"a"}} msg] $msg +} {1 {can't use non-numeric string as operand of "!"}} +test expr-4.11 {CompileLorExpr: error compiling land arms} { + list [catch {expr {"a"||0}} msg] $msg +} {1 {expected boolean value but got "a"}} +test expr-4.12 {CompileLorExpr: error compiling land arms} { + list [catch {expr {0||"a"}} msg] $msg +} {1 {expected boolean value but got "a"}} + +test expr-5.1 {CompileLandExpr: just bitor expr} {expr 7|0x13} 23 +test expr-5.2 {CompileLandExpr: error in bitor expr} -body { + expr x|3 +} -returnCodes error -match glob -result * +test expr-5.3 {CompileLandExpr: simple land exprs} {expr 0&&1.0} 0 +test expr-5.4 {CompileLandExpr: simple land exprs} {expr 0&&0} 0 +test expr-5.5 {CompileLandExpr: simple land exprs} {expr 3.0&&1.2} 1 +test expr-5.6 {CompileLandExpr: simple land exprs} {expr 1&&1&&2} 1 +test expr-5.7 {CompileLandExpr: error compiling land arm} -body { + expr 2***3&&4.0 +} -returnCodes error -match glob -result * +test expr-5.8 {CompileLandExpr: error compiling land arm} -body { + expr 1.3&&2***3 +} -returnCodes error -match glob -result * +test expr-5.9 {CompileLandExpr: error compiling land arm} { + list [catch {expr {"a"&&"b"}} msg] $msg +} {1 {expected boolean value but got "a"}} +test expr-5.10 {CompileLandExpr: long land arms} { + set a "abcdefghijkl" + set i 7 + expr {[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]] && [string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]] && [string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]] && [string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]^[string compare [format %c 103] [string index $a $i]]^[string compare [format %c 105] [string index $a $i]]} +} 1 + +test expr-6.1 {CompileBitXorExpr: just bitand expr} {expr 7&0x13} 3 +test expr-6.2 {CompileBitXorExpr: error in bitand expr} -body { + expr x|3 +} -returnCodes error -match glob -result * +test expr-6.3 {CompileBitXorExpr: simple bitxor exprs} {expr 7^0x13} 20 +test expr-6.4 {CompileBitXorExpr: simple bitxor exprs} {expr 3^0x10} 19 +test expr-6.5 {CompileBitXorExpr: simple bitxor exprs} {expr 0^7} 7 +test expr-6.6 {CompileBitXorExpr: simple bitxor exprs} {expr -1^7} -8 +test expr-6.7 {CompileBitXorExpr: error compiling bitxor arm} -body { + expr 2***3|6 +} -returnCodes error -match glob -result * +test expr-6.8 {CompileBitXorExpr: error compiling bitxor arm} -body { + expr 2^x +} -returnCodes error -match glob -result * +test expr-6.9 {CompileBitXorExpr: runtime error in bitxor arm} { + list [catch {expr {24.0^3}} msg] $msg +} {1 {can't use floating-point value as operand of "^"}} +test expr-6.10 {CompileBitXorExpr: runtime error in bitxor arm} { + list [catch {expr {"a"^"b"}} msg] $msg +} {1 {can't use non-numeric string as operand of "^"}} + +test expr-7.1 {CompileBitAndExpr: just equality expr} {expr 3==2} 0 +test expr-7.2 {CompileBitAndExpr: just equality expr} {expr 2.0==2} 1 +test expr-7.3 {CompileBitAndExpr: just equality expr} {expr 3.2!=2.2} 1 +test expr-7.4 {CompileBitAndExpr: just equality expr} {expr {"abc" == "abd"}} 0 +test expr-7.5 {CompileBitAndExpr: error in equality expr} -body { + expr x==3 +} -returnCodes error -match glob -result * +test expr-7.6 {CompileBitAndExpr: simple bitand exprs} {expr 7&0x13} 3 +test expr-7.7 {CompileBitAndExpr: simple bitand exprs} {expr 0xf2&0x53} 82 +test expr-7.8 {CompileBitAndExpr: simple bitand exprs} {expr 3&6} 2 +test expr-7.9 {CompileBitAndExpr: simple bitand exprs} {expr -1&-7} -7 +test expr-7.10 {CompileBitAndExpr: error compiling bitand arm} -body { + expr 2***3&6 +} -returnCodes error -match glob -result * +test expr-7.11 {CompileBitAndExpr: error compiling bitand arm} -body { + expr 2&x +} -returnCodes error -match glob -result * +test expr-7.12 {CompileBitAndExpr: runtime error in bitand arm} { + list [catch {expr {24.0&3}} msg] $msg +} {1 {can't use floating-point value as operand of "&"}} +test expr-7.13 {CompileBitAndExpr: runtime error in bitand arm} { + list [catch {expr {"a"&"b"}} msg] $msg +} {1 {can't use non-numeric string as operand of "&"}} +test expr-7.14 {CompileBitAndExpr: equality expr} {expr 3eq2} 0 +test expr-7.18 {CompileBitAndExpr: equality expr} {expr {"abc" eq "abd"}} 0 +test expr-7.20 {CompileBitAndExpr: error in equality expr} -body { + expr xne3 +} -returnCodes error -match glob -result * + +test expr-8.1 {CompileEqualityExpr: just relational expr} {expr 3>=2} 1 +test expr-8.2 {CompileEqualityExpr: just relational expr} {expr 2<=2.1} 1 +test expr-8.3 {CompileEqualityExpr: just relational expr} {expr 3.2>"2.2"} 1 +test expr-8.4 {CompileEqualityExpr: just relational expr} {expr {"0y"<"0x12"}} 0 +test expr-8.5 {CompileEqualityExpr: error in relational expr} -body { + expr x>3 +} -returnCodes error -match glob -result * +test expr-8.6 {CompileEqualityExpr: simple equality exprs} {expr 7==0x13} 0 +test expr-8.7 {CompileEqualityExpr: simple equality exprs} {expr -0xf2!=0x53} 1 +test expr-8.8 {CompileEqualityExpr: simple equality exprs} {expr {"12398712938788234-1298379" != ""}} 1 +test expr-8.9 {CompileEqualityExpr: simple equality exprs} {expr -1!="abc"} 1 +test expr-8.10 {CompileEqualityExpr: error compiling equality arm} -body { + expr 2***3==6 +} -returnCodes error -match glob -result * +test expr-8.11 {CompileEqualityExpr: error compiling equality arm} -body { + expr 2!=x +} -returnCodes error -match glob -result * +test expr-8.12 {CompileBitAndExpr: equality expr} {expr {"a"eq"a"}} 1 +test expr-8.13 {CompileBitAndExpr: equality expr} {expr {"\374" eq [set s \u00fc]}} 1 +test expr-8.14 {CompileBitAndExpr: equality expr} {expr 3eq2} 0 +test expr-8.15 {CompileBitAndExpr: equality expr} {expr 2.0eq2} 0 +test expr-8.16 {CompileBitAndExpr: equality expr} {expr 3.2ne2.2} 1 +test expr-8.17 {CompileBitAndExpr: equality expr} {expr 01eq1} 0 +test expr-8.18 {CompileBitAndExpr: equality expr} {expr {"abc" eq "abd"}} 0 +test expr-8.19 {CompileBitAndExpr: equality expr} {expr {"abc" ne "abd"}} 1 +test expr-8.20 {CompileBitAndExpr: error in equality expr} -body { + expr x ne3 +} -returnCodes error -match glob -result * +test expr-8.21 {CompileBitAndExpr: error in equality expr} -body { + # These should be ""ed to avoid the error + expr a eq b +} -returnCodes error -match glob -result * +test expr-8.22 {CompileBitAndExpr: error in equality expr} -body { + expr {false eqfalse} +} -returnCodes error -match glob -result * +test expr-8.23 {CompileBitAndExpr: error in equality expr} -body { + expr {false nefalse} +} -returnCodes error -match glob -result * +test expr-8.24 {CompileEqualityExpr: simple equality exprs} { + set x 12398712938788234 + expr {$x == 100} +} 0 +test expr-8.25 {CompileEqualityExpr: simple equality exprs} { + expr {"0x12 " == "0x12"} +} 1 +test expr-8.26 {CompileEqualityExpr: simple equality exprs} { + expr {"0x12 " eq "0x12"} +} 0 +test expr-8.27 {CompileEqualityExpr: simple equality exprs} { + expr {"1.0e100000000" == "0.0"} +} 0 +test expr-8.28 {CompileEqualityExpr: just relational expr} { + expr {"0y" == "0x0"} +} 0 +test expr-8.29 {CompileEqualityExpr: just relational expr} { + # Compare original strings from variables. + set v1 "0y" + set v2 "0x12" + expr {$v1 < $v2} +} 0 +test expr-8.30 {CompileEqualityExpr: simple equality exprs} { + expr {"fake" != "bob"} +} 1 +test expr-8.31 {expr edge cases} -body { + expr {1e} +} -returnCodes error -match glob -result * +test expr-8.32 {expr edge cases} -body { + expr {1E} +} -returnCodes error -match glob -result * +test expr-8.33 {expr edge cases} -body { + expr {1e+} +} -returnCodes error -match glob -result * +test expr-8.34 {expr edge cases} -body { + expr {1E+} +} -returnCodes error -match glob -result * +test expr-8.35 {expr edge cases} -body { + expr {1ea} +} -returnCodes error -match glob -result * + +test expr-9.1 {CompileRelationalExpr: just shift expr} {expr 3<<2} 12 +test expr-9.2 {CompileRelationalExpr: just shift expr} {expr 0xff>>2} 63 +test expr-9.3 {CompileRelationalExpr: just shift expr} {expr -1>>2} -1 +test expr-9.4 {CompileRelationalExpr: just shift expr} {expr {1<<3}} 8 +test expr-9.5a {CompileRelationalExpr: shift expr producing LONG_MIN} longIs64bit { + expr {int(1<<63)} +} -9223372036854775808 +test expr-9.5b {CompileRelationalExpr: shift expr producing LONG_MIN} longIs32bit { + expr {int(1<<31)} +} -2147483648 +test expr-9.6 {CompileRelationalExpr: error in shift expr} -body { + expr x>>3 +} -returnCodes error -match glob -result * +test expr-9.7 {CompileRelationalExpr: simple relational exprs} {expr 0xff>=+0x3} 1 +test expr-9.8 {CompileRelationalExpr: simple relational exprs} {expr -0xf2<0x3} 1 +test expr-9.9 {CompileRelationalExpr: error compiling relational arm} -body { + expr 2***3>6 +} -returnCodes error -match glob -result * +test expr-9.10 {CompileRelationalExpr: error compiling relational arm} -body { + expr 2<x +} -returnCodes error -match glob -result * + +test expr-10.1 {CompileShiftExpr: just add expr} {expr 4+-2} 2 +test expr-10.2 {CompileShiftExpr: just add expr} {expr 0xff-2} 253 +test expr-10.3 {CompileShiftExpr: just add expr} {expr -1--2} 1 +test expr-10.4 {CompileShiftExpr: just add expr} {expr 1-0o123} -82 +test expr-10.5 {CompileShiftExpr: error in add expr} -body { + expr x+3 +} -returnCodes error -match glob -result * +test expr-10.6 {CompileShiftExpr: simple shift exprs} {expr 0xff>>0x3} 31 +test expr-10.7 {CompileShiftExpr: simple shift exprs} {expr -0xf2<<0x3} -1936 +test expr-10.8 {CompileShiftExpr: error compiling shift arm} -body { + expr 2***3>>6 +} -returnCodes error -match glob -result * +test expr-10.9 {CompileShiftExpr: error compiling shift arm} -body { + expr 2<<x +} -returnCodes error -match glob -result * +test expr-10.10 {CompileShiftExpr: runtime error} { + list [catch {expr {24.0>>43}} msg] $msg +} {1 {can't use floating-point value as operand of ">>"}} +test expr-10.11 {CompileShiftExpr: runtime error} { + list [catch {expr {"a"<<"b"}} msg] $msg +} {1 {can't use non-numeric string as operand of "<<"}} + +test expr-11.1 {CompileAddExpr: just multiply expr} {expr 4*-2} -8 +test expr-11.2 {CompileAddExpr: just multiply expr} {expr 0xff%2} 1 +test expr-11.3 {CompileAddExpr: just multiply expr} {expr -1/2} -1 +test expr-11.4 {CompileAddExpr: just multiply expr} {expr 7891%0o123} 6 +test expr-11.5 {CompileAddExpr: error in multiply expr} -body { + expr x*3 +} -returnCodes error -match glob -result * +test expr-11.6 {CompileAddExpr: simple add exprs} {expr 0xff++0x3} 258 +test expr-11.7 {CompileAddExpr: simple add exprs} {expr -0xf2--0x3} -239 +test expr-11.8 {CompileAddExpr: error compiling add arm} -body { + expr 2***3+6 +} -returnCodes error -match glob -result * +test expr-11.9 {CompileAddExpr: error compiling add arm} -body { + expr 2-x +} -returnCodes error -match glob -result * +test expr-11.10 {CompileAddExpr: runtime error} { + list [catch {expr {24.0+"xx"}} msg] $msg +} {1 {can't use non-numeric string as operand of "+"}} +test expr-11.11 {CompileAddExpr: runtime error} { + list [catch {expr {"a"-"b"}} msg] $msg +} {1 {can't use non-numeric string as operand of "-"}} +test expr-11.12 {CompileAddExpr: runtime error} { + list [catch {expr {3/0}} msg] $msg +} {1 {divide by zero}} +test expr-11.13a {CompileAddExpr: runtime error} !ieeeFloatingPoint { + list [catch {expr {2.3/0.0}} msg] $msg +} {1 {divide by zero}} +test expr-11.13b {CompileAddExpr: runtime error} ieeeFloatingPoint { + list [catch {expr {2.3/0.0}} msg] $msg +} {0 Inf} + +test expr-12.1 {CompileMultiplyExpr: just unary expr} {expr ~4} -5 +test expr-12.2 {CompileMultiplyExpr: just unary expr} {expr --5} 5 +test expr-12.3 {CompileMultiplyExpr: just unary expr} {expr !27} 0 +test expr-12.4 {CompileMultiplyExpr: just unary expr} {expr ~0xff00ff} -16711936 +test expr-12.5 {CompileMultiplyExpr: error in unary expr} -body { + expr ~x +} -returnCodes error -match glob -result * +test expr-12.6 {CompileMultiplyExpr: simple multiply exprs} {expr 0xff*0x3} 765 +test expr-12.7 {CompileMultiplyExpr: simple multiply exprs} {expr -0xf2%-0x3} -2 +test expr-12.8 {CompileMultiplyExpr: error compiling multiply arm} -body { + expr 2*3%%6 +} -returnCodes error -match glob -result * +test expr-12.9 {CompileMultiplyExpr: error compiling multiply arm} -body { + expr 2*x +} -returnCodes error -match glob -result * +test expr-12.10 {CompileMultiplyExpr: runtime error} { + list [catch {expr {24.0*"xx"}} msg] $msg +} {1 {can't use non-numeric string as operand of "*"}} +test expr-12.11 {CompileMultiplyExpr: runtime error} { + list [catch {expr {"a"/"b"}} msg] $msg +} {1 {can't use non-numeric string as operand of "/"}} + +test expr-13.1 {CompileUnaryExpr: unary exprs} {expr -0xff} -255 +test expr-13.2 {CompileUnaryExpr: unary exprs} {expr +0o00123} 83 +test expr-13.3 {CompileUnaryExpr: unary exprs} {expr +--++36} 36 +test expr-13.4 {CompileUnaryExpr: unary exprs} {expr !2} 0 +test expr-13.5 {CompileUnaryExpr: unary exprs} {expr +--+-62.0} -62.0 +test expr-13.6 {CompileUnaryExpr: unary exprs} {expr !0.0} 1 +test expr-13.7 {CompileUnaryExpr: unary exprs} {expr !0xef} 0 +test expr-13.8 {CompileUnaryExpr: error compiling unary expr} -body { + expr ~x +} -returnCodes error -match glob -result * +test expr-13.9 {CompileUnaryExpr: error compiling unary expr} -body { + expr !1.x +} -returnCodes error -match glob -result * +test expr-13.10 {CompileUnaryExpr: runtime error} { + list [catch {expr {~"xx"}} msg] $msg +} {1 {can't use non-numeric string as operand of "~"}} +test expr-13.11 {CompileUnaryExpr: runtime error} { + list [catch {expr ~4.0} msg] $msg +} {1 {can't use floating-point value as operand of "~"}} +test expr-13.12 {CompileUnaryExpr: just primary expr} {expr 0x123} 291 +test expr-13.13 {CompileUnaryExpr: just primary expr} { + set a 27 + expr $a +} 27 +test expr-13.14 {CompileUnaryExpr: just primary expr} { + expr double(27) +} 27.0 +test expr-13.15 {CompileUnaryExpr: just primary expr} {expr "123"} 123 +test expr-13.16 {CompileUnaryExpr: error in primary expr} { + catch {expr [set]} msg + set msg +} {wrong # args: should be "set varName ?newValue?"} +test expr-13.17 {CompileUnaryExpr: negating non-numeric boolean literals} { + set a1 yes; set a0 no; set b1 true; set b0 false + list [expr {!$a1}] [expr {!$a0}] [expr {!$b1}] [expr {!$b0}] +} {0 1 0 1} + +test expr-14.1 {CompilePrimaryExpr: literal primary} {expr 1} 1 +test expr-14.2 {CompilePrimaryExpr: literal primary} {expr 123} 123 +test expr-14.3 {CompilePrimaryExpr: literal primary} {expr 0xff} 255 +test expr-14.4 {CompilePrimaryExpr: literal primary} {expr 0o0010} 8 +test expr-14.5 {CompilePrimaryExpr: literal primary} {expr 62.0} 62.0 +test expr-14.6 {CompilePrimaryExpr: literal primary} { + expr 3.1400000 +} 3.14 +test expr-14.7 {CompilePrimaryExpr: literal primary} {expr {{abcde}<{abcdef}}} 1 +test expr-14.8 {CompilePrimaryExpr: literal primary} {expr {{abc\ +def} < {abcdef}}} 1 +test expr-14.9 {CompilePrimaryExpr: literal primary} {expr {{abc\tde} > {abc\tdef}}} 0 +test expr-14.10 {CompilePrimaryExpr: literal primary} {expr {{123}}} 123 +test expr-14.11 {CompilePrimaryExpr: var reference primary} { + set i 789 + list [expr {$i}] [expr $i] +} {789 789} +test expr-14.12 {CompilePrimaryExpr: var reference primary} { + set i {789} ;# test expr's aggressive conversion to numeric semantics + list [expr {$i}] [expr $i] +} {789 789} +test expr-14.13 {CompilePrimaryExpr: var reference primary} { + catch {unset a} + set a(foo) foo + set a(bar) bar + set a(123) 123 + set result "" + lappend result [expr $a(123)] [expr {$a(bar)<$a(foo)}] + catch {unset a} + set result +} {123 1} +test expr-14.14 {CompilePrimaryExpr: var reference primary} { + set i 123 ;# test "$var.0" floating point conversion hack + list [expr $i] [expr $i.0] [expr $i.0/12.0] +} {123 123.0 10.25} +test expr-14.15 {CompilePrimaryExpr: var reference primary} { + set i 123 + catch {expr $i.2} msg + set msg +} 123.2 +test expr-14.16 {CompilePrimaryExpr: error compiling var reference primary} -body { + expr {$a(foo} +} -returnCodes error -match glob -result * +test expr-14.17 {CompilePrimaryExpr: string primary that looks like var ref} -body { + expr $ +} -returnCodes error -match glob -result * +test expr-14.18 {CompilePrimaryExpr: quoted string primary} { + expr "21" +} 21 +test expr-14.19 {CompilePrimaryExpr: quoted string primary} { + set i 123 + set x 456 + expr "$i+$x" +} 579 +test expr-14.20 {CompilePrimaryExpr: quoted string primary} { + set i 3 + set x 6 + expr 2+"$i.$x" +} 5.6 +test expr-14.21 {CompilePrimaryExpr: error in quoted string primary} { + catch {expr "[set]"} msg + set msg +} {wrong # args: should be "set varName ?newValue?"} +test expr-14.22 {CompilePrimaryExpr: subcommand primary} { + expr {[set i 123; set i]} +} 123 +test expr-14.23 {CompilePrimaryExpr: error in subcommand primary} -body { + catch {expr {[set]}} msg + set ::errorInfo +} -match glob -result {wrong # args: should be "set varName ?newValue?" + while *ing +"set"*} +test expr-14.24 {CompilePrimaryExpr: error in subcommand primary} -body { + expr {[set i} +} -returnCodes error -match glob -result * +test expr-14.25 {CompilePrimaryExpr: math function primary} { + format %.6g [expr exp(1.0)] +} 2.71828 +test expr-14.26 {CompilePrimaryExpr: math function primary} { + format %.6g [expr pow(2.0+0.1,3.0+0.1)] +} 9.97424 +test expr-14.27 {CompilePrimaryExpr: error in math function primary} -body { + expr sinh::(2.0) +} -returnCodes error -match glob -result * +test expr-14.28 {CompilePrimaryExpr: subexpression primary} { + expr 2+(3*4) +} 14 +test expr-14.29 {CompilePrimaryExpr: error in subexpression primary} -body { + catch {expr 2+(3*[set])} msg + set ::errorInfo +} -match glob -result {wrong # args: should be "set varName ?newValue?" + while *ing +"set"*} +test expr-14.30 {CompilePrimaryExpr: missing paren in subexpression primary} -body { + expr 2+(3*(4+5) +} -returnCodes error -match glob -result * +test expr-14.31 {CompilePrimaryExpr: just var ref in subexpression primary} { + set i "5+10" + list "[expr $i] == 15" "[expr ($i)] == 15" "[eval expr ($i)] == 15" +} {{15 == 15} {15 == 15} {15 == 15}} +test expr-14.32 {CompilePrimaryExpr: unexpected token} -body { + expr @ +} -returnCodes error -match glob -result * + +test expr-15.1 {CompileMathFuncCall: missing parenthesis} -body { + expr sinh2.0) +} -returnCodes error -match glob -result * +test expr-15.2 {CompileMathFuncCall: unknown math function} -body { + catch {expr whazzathuh(1)} msg + set ::errorInfo +} -match glob -result {* "*whazzathuh" + while *ing +"expr whazzathuh(1)"} +test expr-15.3 {CompileMathFuncCall: too many arguments} -body { + catch {expr sin(1,2,3)} msg + set ::errorInfo +} -match glob -result {too many arguments for math function* + while *ing +"expr sin(1,2,3)"} +test expr-15.4 {CompileMathFuncCall: ')' found before last required arg} -body { + catch {expr sin()} msg + set ::errorInfo +} -match glob -result {too few arguments for math function* + while *ing +"expr sin()"} +test expr-15.5 {CompileMathFuncCall: too few arguments} -body { + catch {expr pow(1)} msg + set ::errorInfo +} -match glob -result {too few arguments for math function* + while *ing +"expr pow(1)"} +test expr-15.6 {CompileMathFuncCall: missing ')'} -body { + expr sin(1 +} -returnCodes error -match glob -result * +test expr-15.7 {CompileMathFuncCall: call registered math function} {testmathfunctions} { + expr 2*T1() +} 246 +test expr-15.8 {CompileMathFuncCall: call registered math function} {testmathfunctions} { + expr T2()*3 +} 1035 +test expr-15.9 {CompileMathFuncCall: call registered math function} {testmathfunctions} { + expr T3(21, 37) +} 37 +test expr-15.10 {CompileMathFuncCall: call registered math function} {testmathfunctions} { + expr T3(21.2, 37) +} 37.0 +test expr-15.11 {CompileMathFuncCall: call registered math function} {testmathfunctions} { + expr T3(-21.2, -17.5) +} -17.5 +test expr-15.12 {ExprCallMathFunc: call registered math function} {testmathfunctions} { + expr T3(21, wide(37)) +} 37 +test expr=15.13 {ExprCallMathFunc: call registered math function} {testmathfunctions} { + expr T3(wide(21), 37) +} 37 +test expr=15.14 {ExprCallMathFunc: call registered math function} {testmathfunctions} { + expr T3(wide(21), wide(37)) +} 37 +test expr-15.15 {ExprCallMathFunc: call registered math function} {testmathfunctions} { + expr T3(21.0, wide(37)) +} 37.0 +test expr-15.16 {ExprCallMathFunc: call registered math function} {testmathfunctions} { + expr T3(wide(21), 37.0) +} 37.0 +test expr-15.17 {ExprCallMathFunc: non-numeric arg} -constraints { + testmathfunctions +} -body { + expr T3(0,"a") +} -returnCodes error -result {argument to math function didn't have numeric value} + + +test expr-16.1 {GetToken: checks whether integer token starting with "0x" (e.g., "0x$") is invalid} { + catch {unset a} + set a(VALUE) ff15 + set i 123 + if {[expr 0x$a(VALUE)] & 16} { + set i {} + } + set i +} {} +test expr-16.2 {GetToken: check for string literal in braces} { + expr {{1}} +} {1} + +# Check "expr" and computed command names. + +test expr-17.1 {expr and computed command names} { + set i 0 + set z expr + $z 1+2 +} 3 + +# Check correct conversion of operands to numbers: If the string looks like +# an integer, convert to integer. Otherwise, if the string looks like a +# double, convert to double. + +test expr-18.1 {expr and conversion of operands to numbers} { + set x [lindex 11 0] + catch {expr int($x)} + expr {$x} +} 11 +test expr-18.2 {whitespace strings should not be == 0 (buggy strtod)} { + expr {" "} +} { } + +# Check "expr" and interpreter result object resetting before appending +# an error msg during evaluation of exprs not in {}s + +test expr-19.1 {expr and interpreter result object resetting} { + proc p {} { + set t 10.0 + set x 2.0 + set dx 0.2 + set f {$dx-$x/10} + set g {-$x/5} + set center 1.0 + set x [expr $x-$center] + set dx [expr $dx+$g] + set x [expr $x+$f+$center] + set x [expr $x+$f+$center] + set y [expr round($x)] + } + p +} 3 + +# Test for incorrect "double evaluation" semantics + +test expr-20.1 {wrong brace matching} { + catch {unset l} + catch {unset r} + catch {unset q} + catch {unset cmd} + catch {unset a} + set l "\{"; set r "\}"; set q "\"" + set cmd "expr $l$q|$q == $q$r$q$r" + list [catch $cmd a] $a +} {1 {extra characters after close-brace}} +test expr-20.2 {double invocation of variable traces} -body { + set exprtracecounter 0 + proc exprtraceproc {args} { + upvar #0 exprtracecounter counter + set argc [llength $args] + set extraargs [lrange $args 0 [expr {$argc - 4}]] + set name [lindex $args [expr {$argc - 3}]] + upvar 1 $name var + if {[incr counter] % 2 == 1} { + set var "$counter oops [concat $extraargs]" + } else { + set var "$counter + [concat $extraargs]" + } + } + trace variable exprtracevar r [list exprtraceproc 10] + list [catch {expr "$exprtracevar + 20"} a] $a \ + [catch {expr "$exprtracevar + 20"} b] $b \ + [unset exprtracevar exprtracecounter] +} -match glob -result {1 * 0 32 {}} +test expr-20.3 {broken substitution of integer digits} { + # fails with 8.0.x, but not 8.1b2 + list [set a 000; expr 0x1$a] [set a 1; expr ${a}000] +} {4096 1000} +test expr-20.4 {proper double evaluation compilation, error case} { + catch {unset a}; # make sure $a doesn't exist + list [catch {expr 1?{$a}:0} msg] $msg +} {1 {can't read "a": no such variable}} +test expr-20.5 {proper double evaluation compilation, working case} { + set a yellow + expr 1?{$a}:0 +} yellow +test expr-20.6 {handling of compile error in trial compile} { + list [catch {expr + {[incr]}} msg] $msg +} {1 {wrong # args: should be "incr varName ?increment?"}} +test expr-20.7 {handling of compile error in runtime case} { + list [catch {expr + {[error foo]}} msg] $msg +} {1 foo} + +# Test for non-numeric boolean literal handling +test expr-21.1 {non-numeric boolean literals} {expr false } false +test expr-21.2 {non-numeric boolean literals} {expr true } true +test expr-21.3 {non-numeric boolean literals} {expr off } off +test expr-21.4 {non-numeric boolean literals} {expr on } on +test expr-21.5 {non-numeric boolean literals} {expr no } no +test expr-21.6 {non-numeric boolean literals} {expr yes } yes +test expr-21.7 {non-numeric boolean literals} {expr !false} 1 +test expr-21.8 {non-numeric boolean literals} {expr !true } 0 +test expr-21.9 {non-numeric boolean literals} {expr !off } 1 +test expr-21.10 {non-numeric boolean literals} {expr !on } 0 +test expr-21.11 {non-numeric boolean literals} {expr !no } 1 +test expr-21.12 {non-numeric boolean literals} {expr !yes } 0 +test expr-21.13 {non-numeric boolean literals} -body { + expr !truef +} -returnCodes error -match glob -result * +test expr-21.14 {non-numeric boolean literals} { + list [catch {expr !"truef"} err] $err +} {1 {can't use non-numeric string as operand of "!"}} +test expr-21.15 {non-numeric boolean variables} { + set v truef + list [catch {expr {!$v}} err] $err +} {1 {can't use non-numeric string as operand of "!"}} +test expr-21.16 {non-numeric boolean variables} { + set v "true " + list [catch {expr {!$v}} err] $err +} {1 {can't use non-numeric string as operand of "!"}} +test expr-21.17 {non-numeric boolean variables} { + set v "tru" + list [catch {expr {!$v}} err] $err +} {0 0} +test expr-21.18 {non-numeric boolean variables} { + set v "fal" + list [catch {expr {!$v}} err] $err +} {0 1} +test expr-21.19 {non-numeric boolean variables} { + set v "y" + list [catch {expr {!$v}} err] $err +} {0 0} +test expr-21.20 {non-numeric boolean variables} { + set v "of" + list [catch {expr {!$v}} err] $err +} {0 1} +test expr-21.21 {non-numeric boolean variables} { + set v "o" + list [catch {expr {!$v}} err] $err +} {1 {can't use non-numeric string as operand of "!"}} +test expr-21.22 {non-numeric boolean variables} { + set v "" + list [catch {expr {!$v}} err] $err +} {1 {can't use empty string as operand of "!"}} + +# Test for non-numeric float handling. +test expr-22.1 {non-numeric floats} { + list [catch {expr {NaN + 1}} msg] $msg +} {1 {can't use non-numeric floating-point value as operand of "+"}} +test expr-22.2 {non-numeric floats} !ieeeFloatingPoint { + list [catch {expr {Inf + 1}} msg] $msg +} {1 {can't use infinite floating-point value as operand of "+"}} +test expr-22.3 {non-numeric floats} { + set nan NaN + list [catch {expr {$nan + 1}} msg] $msg +} {1 {can't use non-numeric floating-point value as operand of "+"}} +test expr-22.4 {non-numeric floats} !ieeeFloatingPoint { + set inf Inf + list [catch {expr {$inf + 1}} msg] $msg +} {1 {can't use infinite floating-point value as operand of "+"}} +test expr-22.5 {non-numeric floats} { + list [catch {expr NaN} msg] $msg +} {1 {domain error: argument not in valid range}} +test expr-22.6 {non-numeric floats} !ieeeFloatingPoint { + list [catch {expr Inf} msg] $msg +} {1 {floating-point value too large to represent}} +test expr-22.7 {non-numeric floats} { + list [catch {expr {1 / NaN}} msg] $msg +} {1 {can't use non-numeric floating-point value as operand of "/"}} +test expr-22.8 {non-numeric floats} !ieeeFloatingPoint { + list [catch {expr {1 / Inf}} msg] $msg +} {1 {can't use infinite floating-point value as operand of "/"}} +# Make sure [Bug 761471] stays fixed. +test expr-22.9 {non-numeric floats: shared object equality and NaN} { + set x NaN + expr {$x == $x} +} 0 +# Make sure [Bug d0f7ba56f0] stays fixed. +test expr-22.10 {non-numeric arguments: equality and NaN} { + set x NaN + expr {$x > "Gran"} +} 1 +test expr-22.11 {non-numeric arguments: equality and NaN} { + set x NaN + expr {"Gran" < $x} +} 1 + +# Tests for exponentiation handling +test expr-23.1 {CompileExponentialExpr: just exponential expr} {expr 4**2} 16 +test expr-23.2 {CompileExponentialExpr: just exponential expr} {expr 0xff**2} 65025 +test expr-23.3 {CompileExponentialExpr: just exponential expr} {expr -1**2} 1 +test expr-23.4 {CompileExponentialExpr: just exponential expr} {expr 18**07} 612220032 +test expr-23.5 {CompileExponentialExpr: error in exponential expr} -body { + expr x**3 +} -returnCodes error -match glob -result * +test expr-23.6 {CompileExponentialExpr: simple expo exprs} {expr 0xff**0x3} 16581375 +test expr-23.7 {CompileExponentialExpr: error compiling expo arm} -body { + expr (-3-)**6 +} -returnCodes error -match glob -result * +test expr-23.8 {CompileExponentialExpr: error compiling expo arm} -body { + expr 2**x +} -returnCodes error -match glob -result * +test expr-23.9 {CompileExponentialExpr: runtime error} { + list [catch {expr {24.0**"xx"}} msg] $msg +} {1 {can't use non-numeric string as operand of "**"}} +test expr-23.10 {CompileExponentialExpr: runtime error} { + list [catch {expr {"a"**2}} msg] $msg +} {1 {can't use non-numeric string as operand of "**"}} +test expr-23.11 {CompileExponentialExpr: runtime error} { + list [catch {expr {0**-1}} msg] $msg +} {1 {exponentiation of zero by negative power}} +test expr-23.12 {CompileExponentialExpr: runtime error} { + list [catch {expr {0.0**-1.0}} msg] $msg +} {1 {exponentiation of zero by negative power}} +test expr-23.13 {CompileExponentialExpr: runtime error} { + list [catch {expr {wide(0)**wide(-1)}} msg] $msg +} {1 {exponentiation of zero by negative power}} +test expr-23.14 {INST_EXPON: special cases} {expr {0**1}} 0 +test expr-23.15 {INST_EXPON: special cases} {expr {0**0}} 1 +test expr-23.16 {INST_EXPON: special cases} {expr {-2**-1}} 0 +test expr-23.17 {INST_EXPON: special cases} {expr {-2**0}} 1 +test expr-23.18 {INST_EXPON: special cases} {expr {-1**1}} -1 +test expr-23.19 {INST_EXPON: special cases} {expr {-1**0}} 1 +test expr-23.20 {INST_EXPON: special cases} {expr {-1**2}} 1 +test expr-23.21 {INST_EXPON: special cases} {expr {-1**-1}} -1 +test expr-23.22 {INST_EXPON: special cases} {expr {1**1234567}} 1 +test expr-23.23 {INST_EXPON: special cases} {expr {2**-2}} 0 +test expr-23.24 {INST_EXPON: special cases} {expr {wide(0)**wide(1)}} 0 +test expr-23.25 {INST_EXPON: special cases} {expr {wide(0)**wide(0)}} 1 +test expr-23.26 {INST_EXPON: special cases} {expr {wide(-2)**wide(-1)}} 0 +test expr-23.27 {INST_EXPON: special cases} {expr {wide(-2)**wide(0)}} 1 +test expr-23.28 {INST_EXPON: special cases} {expr {wide(-1)**wide(1)}} -1 +test expr-23.29 {INST_EXPON: special cases} {expr {wide(-1)**wide(0)}} 1 +test expr-23.30 {INST_EXPON: special cases} {expr {wide(-1)**wide(2)}} 1 +test expr-23.31 {INST_EXPON: special cases} {expr {wide(-1)**wide(-1)}} -1 +test expr-23.32 {INST_EXPON: special cases} {expr {wide(1)**wide(1234567)}} 1 +test expr-23.33 {INST_EXPON: special cases} {expr {wide(2)**wide(-2)}} 0 +test expr-23.34 {INST_EXPON: special cases} {expr {2**0}} 1 +test expr-23.35 {INST_EXPON: special cases} {expr {wide(2)**0}} 1 +test expr-23.36 {INST_EXPON: big integer} {expr {10**17}} 1[string repeat 0 17] +test expr-23.37 {INST_EXPON: big integer} {expr {10**18}} 1[string repeat 0 18] +test expr-23.38 {INST_EXPON: big integer} {expr {10**19}} 1[string repeat 0 19] +test expr-23.39 {INST_EXPON: big integer} { + expr 1[string repeat 0 30]**2 +} 1[string repeat 0 60] +test expr-23.40 {INST_EXPON: overflow to big integer} {expr {(-10)**3}} -1000 +test expr-23.41 {INST_EXPON: overflow to big integer} {expr 2**64} [expr 1<<64] +test expr-23.42 {INST_EXPON: overflow to big integer} {expr 4**32} [expr 1<<64] +test expr-23.43 {INST_EXPON: overflow to big integer} {expr 16**16} [expr 1<<64] +test expr-23.44 {INST_EXPON: overflow to big integer} {expr 256**8} [expr 1<<64] +test expr-23.45 {INST_EXPON: Bug 1555371} {expr 2**1} 2 +test expr-23.46 {INST_EXPON: Bug 1561260} -body { + expr 5**28 +} -match glob -result *5 +test expr-23.47 {INST_EXPON: Bug 1561260} { + expr 2**32*5**32 +} 1[string repeat 0 32] +test expr-23.48 {INST_EXPON: TIP 274: right assoc} { +expr 2**3**4 +} 2417851639229258349412352 +test expr-23.49 {INST_EXPON: optimize powers of 2} { + set trouble {test powers of 2} + for {set tval 0} {$tval <= 66} {incr tval} { + set is [expr {2 ** $tval}] + set sb [expr {1 << $tval}] + if {$is != $sb} { + append trouble \n "2**" $tval " is " $is " should be " $sb + } + if {$tval >= 1} { + set is [expr {-2 ** $tval}] + set sb [expr {1 << $tval}] + if {$tval & 1} { + set sb [expr {-$sb}] + } + if {$is != $sb} { + append trouble \n "-2**" $tval " is " $is " should be " $sb + } + } + } + set trouble +} {test powers of 2} +test expr-23.50 {INST_EXPON: small powers of 32-bit integers} { + set trouble {test small powers of 32-bit ints} + for {set base 3} {$base <= 45} {incr base} { + set sb $base + set sbm [expr {-$base}] + for {set expt 2} {$expt <= 8} {incr expt} { + set sb [expr {$sb * $base}] + set is [expr {$base ** $expt}] + if {$sb != $is} { + append trouble \n $base ** $expt " is " $is " should be " $sb + } + set sbm [expr {-$sbm * $base}] + set ism [expr {(-$base) ** $expt}] + if {$sbm != $ism} { + append trouble \n - $base ** $expt " is " $ism \ + " should be " $sbm + } + } + } + set trouble +} {test small powers of 32-bit ints} +test expr-23.51 {INST_EXPON: intermediate powers of 32-bit integers} { + set trouble {test intermediate powers of 32-bit ints} + for {set base 3} {$base <= 11} {incr base} { + set sb [expr {$base ** 8}] + set sbm $sb + for {set expt 9} {$expt <= 21} {incr expt} { + set sb [expr {$sb * $base}] + set sbm [expr {$sbm * -$base}] + set is [expr {$base ** $expt}] + set ism [expr {-$base ** $expt}] + if {$sb != $is} { + append trouble \n $base ** $expt " is " $is " should be " $sb + } + if {$sbm != $ism} { + append trouble \n - $base ** $expt " is " $ism \ + " should be " $sbm + } + } + } + set trouble +} {test intermediate powers of 32-bit ints} +test expr-23.52 {INST_EXPON: small integer powers with 64-bit results} { + set trouble {test small int powers with 64-bit results} + for {set exp 2} {$exp <= 16} {incr exp} { + set base [expr {entier(pow(double(0x7fffffffffffffff),(1.0/$exp)))}] + set sb 1 + set sbm 1 + for {set i 0} {$i < $exp} {incr i} { + set sb [expr {$sb * $base}] + set sbm [expr {$sbm * -$base}] + } + set is [expr {$base ** $exp}] + set ism [expr {-$base ** $exp}] + if {$sb != $is} { + append trouble \n $base ** $exp " is " $is " should be " $sb + } + if {$sbm != $ism} { + append trouble \n - $base ** $exp " is " $ism " should be " $sbm + } + incr base + set sb 1 + set sbm 1 + for {set i 0} {$i < $exp} {incr i} { + set sb [expr {$sb * $base}] + set sbm [expr {$sbm * -$base}] + } + set is [expr {$base ** $exp}] + set ism [expr {-$base ** $exp}] + if {$sb != $is} { + append trouble \n $base ** $exp " is " $is " should be " $sb + } + if {$sbm != $ism} { + append trouble \n - $base ** $exp " is " $ism " should be " $sbm + } + } + set trouble +} {test small int powers with 64-bit results} +test expr-23.53 {INST_EXPON: intermediate powers of 64-bit integers} { + set trouble {test intermediate powers of 64-bit ints} + for {set base 3} {$base <= 13} {incr base} { + set sb [expr {$base ** 15}] + set sbm [expr {-$sb}] + for {set expt 16} {$expt <= 39} {incr expt} { + set sb [expr {$sb * $base}] + set sbm [expr {$sbm * -$base}] + set is [expr {$base ** $expt}] + set ism [expr {-$base ** $expt}] + if {$sb != $is} { + append trouble \n $base ** $expt " is " $is " should be " $sb + } + if {$sbm != $ism} { + append trouble \n - $base ** $expt " is " $ism \ + " should be " $sbm + } + } + } + set trouble +} {test intermediate powers of 64-bit ints} +test expr-23.54.0 {INST_EXPON: Bug 2798543} { + expr {3**9 == 3**65545} +} 0 +test expr-23.54.1 {INST_EXPON: Bug 2798543} { + expr {3**10 == 3**65546} +} 0 +test expr-23.54.2 {INST_EXPON: Bug 2798543} { + expr {3**11 == 3**65547} +} 0 +test expr-23.54.3 {INST_EXPON: Bug 2798543} { + expr {3**12 == 3**65548} +} 0 +test expr-23.54.4 {INST_EXPON: Bug 2798543} { + expr {3**13 == 3**65549} +} 0 +test expr-23.54.5 {INST_EXPON: Bug 2798543} { + expr {3**14 == 3**65550} +} 0 +test expr-23.54.6 {INST_EXPON: Bug 2798543} { + expr {3**15 == 3**65551} +} 0 +test expr-23.54.7 {INST_EXPON: Bug 2798543} { + expr {3**16 == 3**65552} +} 0 +test expr-23.54.8 {INST_EXPON: Bug 2798543} { + expr {3**17 == 3**65553} +} 0 +test expr-23.54.9 {INST_EXPON: Bug 2798543} { + expr {3**18 == 3**65554} +} 0 +test expr-23.54.10 {INST_EXPON: Bug 2798543} { + expr {3**19 == 3**65555} +} 0 +test expr-23.54.11 {INST_EXPON: Bug 2798543} { + expr {3**9 == 3**131081} +} 0 +test expr-23.54.12 {INST_EXPON: Bug 2798543} -body { + expr {3**9 == 3**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.54.13 {INST_EXPON: Bug 2798543} { + expr {(-3)**9 == (-3)**65545} +} 0 +test expr-23.55.0 {INST_EXPON: Bug 2798543} { + expr {4**9 == 4**65545} +} 0 +test expr-23.55.1 {INST_EXPON: Bug 2798543} { + expr {4**15 == 4**65551} +} 0 +test expr-23.55.2 {INST_EXPON: Bug 2798543} { + expr {4**9 == 4**131081} +} 0 +test expr-23.55.3 {INST_EXPON: Bug 2798543} -body { + expr {4**9 == 4**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.55.4 {INST_EXPON: Bug 2798543} { + expr {(-4)**9 == (-4)**65545} +} 0 +test expr-23.56.0 {INST_EXPON: Bug 2798543} { + expr {5**9 == 5**65545} +} 0 +test expr-23.56.1 {INST_EXPON: Bug 2798543} { + expr {5**13 == 5**65549} +} 0 +test expr-23.56.2 {INST_EXPON: Bug 2798543} { + expr {5**9 == 5**131081} +} 0 +test expr-23.56.3 {INST_EXPON: Bug 2798543} -body { + expr {5**9 == 5**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.56.4 {INST_EXPON: Bug 2798543} { + expr {(-5)**9 == (-5)**65545} +} 0 +test expr-23.57.0 {INST_EXPON: Bug 2798543} { + expr {6**9 == 6**65545} +} 0 +test expr-23.57.1 {INST_EXPON: Bug 2798543} { + expr {6**11 == 6**65547} +} 0 +test expr-23.57.2 {INST_EXPON: Bug 2798543} { + expr {6**9 == 6**131081} +} 0 +test expr-23.57.3 {INST_EXPON: Bug 2798543} -body { + expr {6**9 == 6**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.57.4 {INST_EXPON: Bug 2798543} { + expr {(-6)**9 == (-6)**65545} +} 0 +test expr-23.58.0 {INST_EXPON: Bug 2798543} { + expr {7**9 == 7**65545} +} 0 +test expr-23.58.1 {INST_EXPON: Bug 2798543} { + expr {7**11 == 7**65547} +} 0 +test expr-23.58.2 {INST_EXPON: Bug 2798543} { + expr {7**9 == 7**131081} +} 0 +test expr-23.58.3 {INST_EXPON: Bug 2798543} -body { + expr {7**9 == 7**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.58.4 {INST_EXPON: Bug 2798543} { + expr {(-7)**9 == (-7)**65545} +} 0 +test expr-23.59.0 {INST_EXPON: Bug 2798543} { + expr {8**9 == 8**65545} +} 0 +test expr-23.59.1 {INST_EXPON: Bug 2798543} { + expr {8**10 == 8**65546} +} 0 +test expr-23.59.2 {INST_EXPON: Bug 2798543} { + expr {8**9 == 8**131081} +} 0 +test expr-23.59.3 {INST_EXPON: Bug 2798543} -body { + expr {8**9 == 8**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.59.4 {INST_EXPON: Bug 2798543} { + expr {(-8)**9 == (-8)**65545} +} 0 +test expr-23.60.0 {INST_EXPON: Bug 2798543} { + expr {9**9 == 9**65545} +} 0 +test expr-23.60.1 {INST_EXPON: Bug 2798543} { + expr {9**9 == 9**131081} +} 0 +test expr-23.60.2 {INST_EXPON: Bug 2798543} -body { + expr {9**9 == 9**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.60.3 {INST_EXPON: Bug 2798543} { + expr {(-9)**9 == (-9)**65545} +} 0 +test expr-23.61.0 {INST_EXPON: Bug 2798543} { + expr {10**9 == 10**65545} +} 0 +test expr-23.61.1 {INST_EXPON: Bug 2798543} { + expr {10**9 == 10**131081} +} 0 +test expr-23.61.2 {INST_EXPON: Bug 2798543} -body { + expr {10**9 == 10**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.61.3 {INST_EXPON: Bug 2798543} { + expr {(-10)**9 == (-10)**65545} +} 0 +test expr-23.62.0 {INST_EXPON: Bug 2798543} { + expr {11**9 == 11**65545} +} 0 +test expr-23.62.1 {INST_EXPON: Bug 2798543} { + expr {11**9 == 11**131081} +} 0 +test expr-23.62.2 {INST_EXPON: Bug 2798543} -body { + expr {11**9 == 11**268435465} +} -returnCodes error -result {exponent too large} +test expr-23.62.3 {INST_EXPON: Bug 2798543} { + expr {(-11)**9 == (-11)**65545} +} 0 +test expr-23.63.0 {INST_EXPON: Bug 2798543} { + expr {3**20 == 3**65556} +} 0 +test expr-23.63.1 {INST_EXPON: Bug 2798543} { + expr {3**39 == 3**65575} +} 0 +test expr-23.63.2 {INST_EXPON: Bug 2798543} { + expr {3**20 == 3**131092} +} 0 +test expr-23.63.3 {INST_EXPON: Bug 2798543} -body { + expr {3**20 == 3**268435476} +} -returnCodes error -result {exponent too large} +test expr-23.63.4 {INST_EXPON: Bug 2798543} { + expr {(-3)**20 == (-3)**65556} +} 0 +test expr-23.64.0 {INST_EXPON: Bug 2798543} { + expr {4**17 == 4**65553} +} 0 +test expr-23.64.1 {INST_EXPON: Bug 2798543} { + expr {4**31 == 4**65567} +} 0 +test expr-23.64.2 {INST_EXPON: Bug 2798543} { + expr {4**17 == 4**131089} +} 0 +test expr-23.64.3 {INST_EXPON: Bug 2798543} -body { + expr {4**17 == 4**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.64.4 {INST_EXPON: Bug 2798543} { + expr {(-4)**17 == (-4)**65553} +} 0 +test expr-23.65.0 {INST_EXPON: Bug 2798543} { + expr {5**17 == 5**65553} +} 0 +test expr-23.65.1 {INST_EXPON: Bug 2798543} { + expr {5**27 == 5**65563} +} 0 +test expr-23.65.2 {INST_EXPON: Bug 2798543} { + expr {5**17 == 5**131089} +} 0 +test expr-23.65.3 {INST_EXPON: Bug 2798543} -body { + expr {5**17 == 5**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.65.4 {INST_EXPON: Bug 2798543} { + expr {(-5)**17 == (-5)**65553} +} 0 +test expr-23.66.0 {INST_EXPON: Bug 2798543} { + expr {6**17 == 6**65553} +} 0 +test expr-23.66.1 {INST_EXPON: Bug 2798543} { + expr {6**24 == 6**65560} +} 0 +test expr-23.66.2 {INST_EXPON: Bug 2798543} { + expr {6**17 == 6**131089} +} 0 +test expr-23.66.3 {INST_EXPON: Bug 2798543} -body { + expr {6**17 == 6**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.66.4 {INST_EXPON: Bug 2798543} { + expr {(-6)**17 == (-6)**65553} +} 0 +test expr-23.67.0 {INST_EXPON: Bug 2798543} { + expr {7**17 == 7**65553} +} 0 +test expr-23.67.1 {INST_EXPON: Bug 2798543} { + expr {7**22 == 7**65558} +} 0 +test expr-23.67.2 {INST_EXPON: Bug 2798543} { + expr {7**17 == 7**131089} +} 0 +test expr-23.67.3 {INST_EXPON: Bug 2798543} -body { + expr {7**17 == 7**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.67.4 {INST_EXPON: Bug 2798543} { + expr {(-7)**17 == (-7)**65553} +} 0 +test expr-23.68.0 {INST_EXPON: Bug 2798543} { + expr {8**17 == 8**65553} +} 0 +test expr-23.68.1 {INST_EXPON: Bug 2798543} { + expr {8**20 == 8**65556} +} 0 +test expr-23.68.2 {INST_EXPON: Bug 2798543} { + expr {8**17 == 8**131089} +} 0 +test expr-23.68.3 {INST_EXPON: Bug 2798543} -body { + expr {8**17 == 8**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.68.4 {INST_EXPON: Bug 2798543} { + expr {(-8)**17 == (-8)**65553} +} 0 +test expr-23.69.0 {INST_EXPON: Bug 2798543} { + expr {9**17 == 9**65553} +} 0 +test expr-23.69.1 {INST_EXPON: Bug 2798543} { + expr {9**19 == 9**65555} +} 0 +test expr-23.69.2 {INST_EXPON: Bug 2798543} { + expr {9**17 == 9**131089} +} 0 +test expr-23.69.3 {INST_EXPON: Bug 2798543} -body { + expr {9**17 == 9**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.69.4 {INST_EXPON: Bug 2798543} { + expr {(-9)**17 == (-9)**65553} +} 0 +test expr-23.70.0 {INST_EXPON: Bug 2798543} { + expr {10**17 == 10**65553} +} 0 +test expr-23.70.1 {INST_EXPON: Bug 2798543} { + expr {10**18 == 10**65554} +} 0 +test expr-23.70.2 {INST_EXPON: Bug 2798543} { + expr {10**17 == 10**131089} +} 0 +test expr-23.70.3 {INST_EXPON: Bug 2798543} -body { + expr {10**17 == 10**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.70.4 {INST_EXPON: Bug 2798543} { + expr {(-10)**17 == (-10)**65553} +} 0 +test expr-23.71.0 {INST_EXPON: Bug 2798543} { + expr {11**17 == 11**65553} +} 0 +test expr-23.71.1 {INST_EXPON: Bug 2798543} { + expr {11**18 == 11**65554} +} 0 +test expr-23.71.2 {INST_EXPON: Bug 2798543} { + expr {11**17 == 11**131089} +} 0 +test expr-23.71.3 {INST_EXPON: Bug 2798543} -body { + expr {11**17 == 11**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.71.4 {INST_EXPON: Bug 2798543} { + expr {(-11)**17 == (-11)**65553} +} 0 +test expr-23.72.0 {INST_EXPON: Bug 2798543} { + expr {12**17 == 12**65553} +} 0 +test expr-23.72.1 {INST_EXPON: Bug 2798543} { + expr {12**17 == 12**131089} +} 0 +test expr-23.72.2 {INST_EXPON: Bug 2798543} -body { + expr {12**17 == 12**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.72.3 {INST_EXPON: Bug 2798543} { + expr {(-12)**17 == (-12)**65553} +} 0 +test expr-23.73.0 {INST_EXPON: Bug 2798543} { + expr {13**17 == 13**65553} +} 0 +test expr-23.73.1 {INST_EXPON: Bug 2798543} { + expr {13**17 == 13**131089} +} 0 +test expr-23.73.2 {INST_EXPON: Bug 2798543} -body { + expr {13**17 == 13**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.73.3 {INST_EXPON: Bug 2798543} { + expr {(-13)**17 == (-13)**65553} +} 0 +test expr-23.74.0 {INST_EXPON: Bug 2798543} { + expr {14**17 == 14**65553} +} 0 +test expr-23.74.1 {INST_EXPON: Bug 2798543} { + expr {14**17 == 14**131089} +} 0 +test expr-23.74.2 {INST_EXPON: Bug 2798543} -body { + expr {14**17 == 14**268435473} +} -returnCodes error -result {exponent too large} +test expr-23.74.3 {INST_EXPON: Bug 2798543} { + expr {(-14)**17 == (-14)**65553} +} 0 + + +# Some compilers get this wrong; ensure that we work around it correctly +test expr-24.1 {expr edge cases; shifting} {expr int(5)>>32} 0 +test expr-24.2 {expr edge cases; shifting} {expr int(5)>>63} 0 +test expr-24.3 {expr edge cases; shifting} {expr wide(5)>>32} 0 +test expr-24.4 {expr edge cases; shifting} {expr wide(5)>>63} 0 +test expr-24.5 {expr edge cases; shifting} longIs32bit {expr int(5<<32)} 0 +test expr-24.6 {expr edge cases; shifting} longIs32bit {expr int(5<<63)} 0 +test expr-24.7 {expr edge cases; shifting} {expr wide(5)<<32} 21474836480 +test expr-24.8 {expr edge cases; shifting} {expr wide(10<<63)} 0 +test expr-24.9 {expr edge cases; shifting} {expr 5>>32} 0 + +test expr-24.10 {INST_LSHIFT: Bug 1567222} {expr 500000000000000<<28} 134217728000000000000000 + +# List membership tests +test expr-25.1 {'in' operator} {expr {"a" in "a b c"}} 1 +test expr-25.2 {'in' operator} {expr {"a" in "b a c"}} 1 +test expr-25.3 {'in' operator} {expr {"a" in "b c a"}} 1 +test expr-25.4 {'in' operator} {expr {"a" in ""}} 0 +test expr-25.5 {'in' operator} {expr {"" in {a b c ""}}} 1 +test expr-25.6 {'in' operator} {expr {"" in "a b c"}} 0 +test expr-25.7 {'in' operator} {expr {"" in ""}} 0 + +test expr-26.1 {'ni' operator} {expr {"a" ni "a b c"}} 0 +test expr-26.2 {'ni' operator} {expr {"a" ni "b a c"}} 0 +test expr-26.3 {'ni' operator} {expr {"a" ni "b c a"}} 0 +test expr-26.4 {'ni' operator} {expr {"a" ni ""}} 1 +test expr-26.5 {'ni' operator} {expr {"" ni {a b c ""}}} 0 +test expr-26.6 {'ni' operator} {expr {"" ni "a b c"}} 1 +test expr-26.7 {'ni' operator} {expr {"" ni ""}} 1 + +foreach op {< <= == != > >=} { + proc test$op {a b} [list expr "\$a $op \$b"] +} + +test expr-27.1 {expr - correct ordering - not compiled} ieeeFloatingPoint { + set problems {} + # Ordering should be: -Infinity < -Normal < Subnormal < -0 + # < +0 < +Subnormal < +Normal < +Infinity + # with equality within each class. + set names { + -Infinity -Normal -Subnormal -0 +0 +Subnormal +Normal +Infinity + } + set weights { + -3 -2 -1 0 0 1 2 3 + } + foreach name1 $names weight1 $weights { + foreach name2 $names weight2 $weights { + foreach op {< <= == != >= >} { + set shouldBe [expr "$weight1 $op $weight2"] + set is [expr "\$ieeeValues($name1) $op \$ieeeValues($name2)"] + if { $is != $shouldBe } { + append problems $name1 { } $op { } $name2 \ + ":result is " $is ", should be $shouldBe" \n + } + } + } + } + set problems +} {} +test expr-27.2 {expr - correct ordering - compiled} ieeeFloatingPoint { + set problems {} + # Ordering should be: -Infinity < -Normal < Subnormal < -0 + # < +0 < +Subnormal < +Normal < +Infinity + # with equality within each class. + set names { + -Infinity -Normal -Subnormal -0 +0 +Subnormal +Normal +Infinity + } + set weights { + -3 -2 -1 0 0 1 2 3 + } + foreach name1 $names weight1 $weights { + foreach name2 $names weight2 $weights { + foreach op {< <= == != >= >} { + set shouldBe [expr "$weight1 $op $weight2"] + set is [test$op $ieeeValues($name1) $ieeeValues($name2)] + if { $is != $shouldBe } { + append problems $name1 { } $op { } $name2 \ + ":result is " $is ", should be $shouldBe" \n + } + } + } + } + set problems +} {} +test expr-27.3 {expr - NaN is unordered - not compiled} { + set problems {} + set names { + -Infinity -Normal -Subnormal -0 +0 +Subnormal +Normal +Infinity NaN + } + foreach name1 $names { + foreach op {< <= == != >= >} sb {0 0 0 1 0 0} { + if "(\$ieeeValues($name1) $op \$ieeeValues(NaN)) != $sb " { + append problems $name1 { } $op { } NaN \ + ": result is 1, should be $sb" \n + } + if "(\$ieeeValues(NaN) $op \$ieeeValues($name1)) != $sb" { + append problems NaN { } $op { } $name1 \ + ": result is 1, should be $sb" \n + } + } + } + set problems +} {} +test expr-27.4 {expr - NaN is unordered - compiled} { + set problems {} + set names { + -Infinity -Normal -Subnormal -0 +0 +Subnormal +Normal +Infinity NaN + } + foreach name1 $names { + foreach op {< <= == != >= >} sb {0 0 0 1 0 0} { + if { [test$op $ieeeValues($name1) $ieeeValues(NaN)] != $sb } { + append problems $ieeeValues($name1) { } $op { } $ieeeValues(NaN) \ + ": result is 1, should be $sb" \n + } + if { [test$op $ieeeValues(NaN) $ieeeValues($name1)] != $sb } { + append problems NaN { } $op { } $ieeeValues($name1) \ + ": result is 1, should be $sb" \n + } + } + } + set problems +} {} + +proc convertToDouble { x } { + variable ieeeValues + binary scan [binary format d $x] c* bytes + set result 0x + if { $ieeeValues(littleEndian) } { + for { set i 7 } { $i >= 0 } { incr i -1 } { + append result [format %02x [expr { [lindex $bytes $i] & 0xff }]] + } + } else { + foreach byte $bytes { + append result [format %02x [expr { $byte & 0xff }]] + } + } + return $result +} + +test expr-28.1 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 0 E0 OK 00000000000000 E-1023 + convertToDouble 0E0 +} 0x0000000000000000 +test expr-28.2 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL -0 E0 OK -0000000000000 E-1023 + convertToDouble -0E0 +} 0x8000000000000000 +test expr-28.3 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 1 E0 OK 10000000000000 E0 + convertToDouble 1E0 +} 0x3ff0000000000000 +test expr-28.4 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 15 E-1 OK 18000000000000 E0 + convertToDouble 15E-1 +} 0x3ff8000000000000 +test expr-28.5 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 125 E-2 OK 14000000000000 E0 + convertToDouble 125E-2 +} 0x3ff4000000000000 +test expr-28.6 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 1125 E-3 OK 12000000000000 E0 + convertToDouble 1125E-3 +} 0x3ff2000000000000 +test expr-28.7 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 10625 E-4 OK 11000000000000 E0 + convertToDouble 10625E-4 +} 0x3ff1000000000000 +test expr-28.8 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 103125 E-5 OK 10800000000000 E0 + convertToDouble 103125E-5 +} 0x3ff0800000000000 +test expr-28.9 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 1015625 E-6 OK 10400000000000 E0 + convertToDouble 1015625E-6 +} 0x3ff0400000000000 +test expr-28.10 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 10078125 E-7 OK 10200000000000 E0 + convertToDouble 10078125E-7 +} 0x3ff0200000000000 +test expr-28.11 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d ALL 100390625 E-8 OK 10100000000000 E0 + convertToDouble 100390625E-8 +} 0x3ff0100000000000 +test expr-28.12 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 1001953125 E-9 OK 10080000000000 E0 + convertToDouble 1001953125E-9 +} 0x3ff0080000000000 +test expr-28.13 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 10009765625 E-10 OK 10040000000000 E0 + convertToDouble 10009765625E-10 +} 0x3ff0040000000000 +test expr-28.14 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 100048828125 E-11 OK 10020000000000 E0 + convertToDouble 100048828125E-11 +} 0x3ff0020000000000 +test expr-28.15 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 1000244140625 E-12 OK 10010000000000 E0 + convertToDouble 1000244140625E-12 +} 0x3ff0010000000000 +test expr-28.16 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 10001220703125 E-13 OK 10008000000000 E0 + convertToDouble 10001220703125E-13 +} 0x3ff0008000000000 +test expr-28.17 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 100006103515625 E-14 OK 10004000000000 E0 + convertToDouble 100006103515625E-14 +} 0x3ff0004000000000 +test expr-28.18 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 1000030517578125 E-15 OK 10002000000000 E0 + convertToDouble 1000030517578125E-15 +} 0x3ff0002000000000 +test expr-28.19 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee ALL 10000152587890625 E-16 OK 10001000000000 E0 + convertToDouble 10000152587890625E-16 +} 0x3ff0001000000000 +test expr-28.20 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8 E153 x 1317e5ef3ab327_0000000001& E511 + convertToDouble +8E153 +} 0x5fe317e5ef3ab327 +test expr-28.21 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1 E153 x -1317e5ef3ab327_0000000001& E508 + convertToDouble -1E153 +} 0xdfb317e5ef3ab327 +test expr-28.22 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9 E306 x 19a2028368022e_00000000001& E1019 + convertToDouble +9E306 +} 0x7fa9a2028368022e +test expr-28.23 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2 E153 x -1317e5ef3ab327_0000000001& E509 + convertToDouble -2E153 +} 0xdfc317e5ef3ab327 +test expr-28.24 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7 E-304 x 1eb8e84fa0b278_00000000001& E-1008 + convertToDouble +7E-304 +} 0x00feb8e84fa0b278 +test expr-28.25 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3 E-49 x -1c0f92a6276c9d_000000001& E-162 + convertToDouble -3E-49 +} 0xb5dc0f92a6276c9d +test expr-28.26 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7 E-303 x 13339131c46f8b_00000000001& E-1004 + convertToDouble +7E-303 +} 0x0133339131c46f8b +test expr-28.27 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6 E-49 x -1c0f92a6276c9d_000000001& E-161 + convertToDouble -6E-49 +} 0xb5ec0f92a6276c9d +test expr-28.28 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9 E43 x 102498ea6df0c3_11111111110& E146 + convertToDouble +9E43 +} 0x49102498ea6df0c4 +test expr-28.29 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9 E44 x -142dbf25096cf4_1111111110& E149 + convertToDouble -9E44 +} 0xc9442dbf25096cf5 +test expr-28.30 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8 E303 x 1754e31cd072d9_1111111110& E1009 + convertToDouble +8E303 +} 0x7f0754e31cd072da +test expr-28.31 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1 E303 x -1754e31cd072d9_1111111110& E1006 + convertToDouble -1E303 +} 0xfed754e31cd072da +test expr-28.32 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7 E-287 x 1551603777f798_111111110& E-951 + convertToDouble +7E-287 +} 0x048551603777f799 +test expr-28.33 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2 E-204 x -1410d9f9b2f7f2_11111110& E-677 + convertToDouble -2E-204 +} 0x95a410d9f9b2f7f3 +test expr-28.34 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2 E-205 x 100d7b2e28c65b_11111110& E-680 + convertToDouble +2E-205 +} 0x15700d7b2e28c65c +test expr-28.35 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9 E-47 x -10711fed5b19a3_11111110& E-153 + convertToDouble -9E-47 +} 0xb660711fed5b19a4 +test expr-28.36 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +34 E195 x 1d1c26db7d0dae_000000000001& E652 + convertToDouble +34E195 +} 0x68bd1c26db7d0dae +test expr-28.37 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -68 E195 x -1d1c26db7d0dae_000000000001& E653 + convertToDouble -68E195 +} 0xe8cd1c26db7d0dae +test expr-28.38 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +85 E194 x 1d1c26db7d0dae_000000000001& E650 + convertToDouble +85E194 +} 0x689d1c26db7d0dae +test expr-28.39 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -67 E97 x -139ac1ce2cc95f_000000000001& E328 + convertToDouble -67E97 +} 0xd4739ac1ce2cc95f +test expr-28.40 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +93 E-234 x 127b2e4f210075_0000000000000001& E-771 + convertToDouble +93E-234 +} 0x0fc27b2e4f210075 +test expr-28.41 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -19 E-87 x -12e5f5dfa4fe9d_00000000000001& E-285 + convertToDouble -19E-87 +} 0xae22e5f5dfa4fe9d +test expr-28.42 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +38 E-87 x 12e5f5dfa4fe9d_00000000000001& E-284 + convertToDouble +38E-87 +} 0x2e32e5f5dfa4fe9d +test expr-28.43 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -38 E-88 x -1e3cbc9907fdc8_00000000000001& E-288 + convertToDouble -38E-88 +} 0xadfe3cbc9907fdc8 +test expr-28.44 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -69 E220 x -1e8aa8823a5db3_11111111110& E736 + convertToDouble -69E220 +} 0xedfe8aa8823a5db4 +test expr-28.45 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +18 E43 x 102498ea6df0c3_11111111110& E147 + convertToDouble +18E43 +} 0x49202498ea6df0c4 +test expr-28.46 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -36 E43 x -102498ea6df0c3_11111111110& E148 + convertToDouble -36E43 +} 0xc9302498ea6df0c4 +test expr-28.47 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +61 E-99 x 10ad836f269a16_11111111111110& E-323 + convertToDouble +61E-99 +} 0x2bc0ad836f269a17 +test expr-28.48 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -43 E-92 x -1c0794d9d40e95_111111111111110& E-301 + convertToDouble -43E-92 +} 0xad2c0794d9d40e96 +test expr-28.49 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +86 E-92 x 1c0794d9d40e95_111111111111110& E-300 + convertToDouble +86E-92 +} 0x2d3c0794d9d40e96 +test expr-28.50 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -51 E-74 x -1cd5bee57763e5_1111111111111110& E-241 + convertToDouble -51E-74 +} 0xb0ecd5bee57763e6 +test expr-28.51 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +283 E85 x 16c309024bab4b_00000000000000001& E290 + convertToDouble +283E85 +} 0x5216c309024bab4b +test expr-28.52 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -566 E85 x -16c309024bab4b_00000000000000001& E291 + convertToDouble -566E85 +} 0xd226c309024bab4b +test expr-28.53 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +589 E187 x 1526be9c22eb17_00000000000000001& E630 + convertToDouble +589E187 +} 0x675526be9c22eb17 +test expr-28.54 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -839 E143 x -1ae03f245703e2_000000000000001& E484 + convertToDouble -839E143 +} 0xde3ae03f245703e2 +test expr-28.55 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -744 E-234 x -127b2e4f210075_0000000000000001& E-768 + convertToDouble -744E-234 +} 0x8ff27b2e4f210075 +test expr-28.56 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +930 E-235 x 127b2e4f210075_0000000000000001& E-771 + convertToDouble +930E-235 +} 0x0fc27b2e4f210075 +test expr-28.57 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -186 E-234 x -127b2e4f210075_0000000000000001& E-770 + convertToDouble -186E-234 +} 0x8fd27b2e4f210075 +test expr-28.58 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +604 E175 x 17d93193f78fc5_1111111111111111110& E590 + convertToDouble +604E175 +} 0x64d7d93193f78fc6 +test expr-28.59 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -302 E175 x -17d93193f78fc5_1111111111111111110& E589 + convertToDouble -302E175 +} 0xe4c7d93193f78fc6 +test expr-28.60 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +755 E174 x 17d93193f78fc5_1111111111111111110& E587 + convertToDouble +755E174 +} 0x64a7d93193f78fc6 +test expr-28.61 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -151 E175 x -17d93193f78fc5_1111111111111111110& E588 + convertToDouble -151E175 +} 0xe4b7d93193f78fc6 +test expr-28.62 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +662 E-213 x 1bdb90e62a8cbc_1111111111111110& E-699 + convertToDouble +662E-213 +} 0x144bdb90e62a8cbd +test expr-28.63 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -408 E-74 x -1cd5bee57763e5_1111111111111110& E-238 + convertToDouble -408E-74 +} 0xb11cd5bee57763e6 +test expr-28.64 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +510 E-75 x 1cd5bee57763e5_1111111111111110& E-241 + convertToDouble +510E-75 +} 0x30ecd5bee57763e6 +test expr-28.65 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6782 E55 x 159bd3ad46e346_0000000000000000001& E195 + convertToDouble +6782E55 +} 0x4c259bd3ad46e346 +test expr-28.66 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2309 E92 x -1bac6f7d64d119_000000000000000001& E316 + convertToDouble -2309E92 +} 0xd3bbac6f7d64d119 +test expr-28.67 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7963 E34 x 1df4170f0fdecc_00000000000000000001& E125 + convertToDouble +7963E34 +} 0x47cdf4170f0fdecc +test expr-28.68 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3391 E55 x -159bd3ad46e346_0000000000000000001& E194 + convertToDouble -3391E55 +} 0xcc159bd3ad46e346 +test expr-28.69 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7903 E-96 x 107c2d27a5b989_0000000000000000001& E-306 + convertToDouble +7903E-96 +} 0x2cd07c2d27a5b989 +test expr-28.70 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7611 E-226 x -119b8744033457_0000000000000000001& E-738 + convertToDouble -7611E-226 +} 0x91d19b8744033457 +test expr-28.71 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4907 E-196 x 11e90a8711440f_000000000000000001& E-639 + convertToDouble +4907E-196 +} 0x1801e90a8711440f +test expr-28.72 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5547 E-311 x -13f190452a29f4_000000000000000001& E-1021 + convertToDouble -5547E-311 +} 0x8023f190452a29f4 +test expr-28.73 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5311 E241 x 1f1ce3c887c25f_11111111111111111110& E812 + convertToDouble +5311E241 +} 0x72bf1ce3c887c260 +test expr-28.74 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5311 E243 x -184e91f4aa0fda_11111111111111111110& E819 + convertToDouble -5311E243 +} 0xf3284e91f4aa0fdb +test expr-28.75 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5311 E242 x 13720e5d54d97b_11111111111111111110& E816 + convertToDouble +5311E242 +} 0x72f3720e5d54d97c +test expr-28.76 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9269 E-45 x 19d69455a53bd8_111111111111111111110& E-137 + convertToDouble +9269E-45 +} 0x3769d69455a53bd9 +test expr-28.77 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8559 E-289 x -104a81d35952fe_11111111111111111110& E-947 + convertToDouble -8559E-289 +} 0x84c04a81d35952ff +test expr-28.78 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8699 E-276 x 12d2df246ecd2c_1111111111111111111110& E-904 + convertToDouble +8699E-276 +} 0x0772d2df246ecd2d +test expr-28.79 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8085 E-64 x -14c98fce16152d_1111111111111111110& E-200 + convertToDouble -8085E-64 +} 0xb374c98fce16152e +test expr-28.80 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +74819 E201 x 1dd455061eb3f1_0000000000000000000001& E683 + convertToDouble +74819E201 +} 0x6aadd455061eb3f1 +test expr-28.81 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -82081 E41 x -170105df3d47cb_000000000000000000000000001& E152 + convertToDouble -82081E41 +} 0xc9770105df3d47cb +test expr-28.82 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +51881 E37 x 17d2950dc76da4_000000000000000000001& E138 + convertToDouble +51881E37 +} 0x4897d2950dc76da4 +test expr-28.83 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -55061 E157 x -1394fc0f33536c_000000000000000000001& E537 + convertToDouble -55061E157 +} 0xe18394fc0f33536c +test expr-28.84 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +77402 E-215 x 10492a4a8a37fd_0000000000000000000000001& E-698 + convertToDouble +77402E-215 +} 0x1450492a4a8a37fd +test expr-28.85 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -33891 E-92 x -1592f9932c06bd_00000000000000000000001& E-291 + convertToDouble -33891E-92 +} 0xadc592f9932c06bd +test expr-28.86 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +38701 E-215 x 10492a4a8a37fd_0000000000000000000000001& E-699 + convertToDouble +38701E-215 +} 0x1440492a4a8a37fd +test expr-28.87 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -82139 E-76 x -1d0681489839d5_00000000000000000000001& E-237 + convertToDouble -82139E-76 +} 0xb12d0681489839d5 +test expr-28.88 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +75859 E25 x 132645e1ba93ef_11111111111111111111110& E99 + convertToDouble +75859E25 +} 0x46232645e1ba93f0 +test expr-28.89 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +89509 E140 x 16f02bee68670c_1111111111111111111110& E481 + convertToDouble +89509E140 +} 0x5e06f02bee68670d +test expr-28.90 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -57533 E287 x -1272ed2307f569_1111111111111111111110& E969 + convertToDouble -57533E287 +} 0xfc8272ed2307f56a +test expr-28.91 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +46073 E-32 x 12405b773fbdf2_11111111111111111111110& E-91 + convertToDouble +46073E-32 +} 0x3a42405b773fbdf3 +test expr-28.92 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -92146 E-32 x -12405b773fbdf2_11111111111111111111110& E-90 + convertToDouble -92146E-32 +} 0xba52405b773fbdf3 +test expr-28.93 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +83771 E-74 x 17206bfc4ccabd_11111111111111111111110& E-230 + convertToDouble +83771E-74 +} 0x3197206bfc4ccabe +test expr-28.94 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -34796 E-276 x -12d2df246ecd2c_1111111111111111111110& E-902 + convertToDouble -34796E-276 +} 0x8792d2df246ecd2d +test expr-28.95 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +584169 E229 x 1d657059dc79aa_00000000000000000000000000001& E779 + convertToDouble +584169E229 +} 0x70ad657059dc79aa +test expr-28.96 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +164162 E41 x 170105df3d47cb_000000000000000000000000001& E153 + convertToDouble +164162E41 +} 0x49870105df3d47cb +test expr-28.97 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -328324 E41 x -170105df3d47cb_000000000000000000000000001& E154 + convertToDouble -328324E41 +} 0xc9970105df3d47cb +test expr-28.98 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +209901 E-11 x 119b96f36ec68b_00000000000000000000000001& E-19 + convertToDouble +209901E-11 +} 0x3ec19b96f36ec68b +test expr-28.99 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -419802 E-11 x -119b96f36ec68b_00000000000000000000000001& E-18 + convertToDouble -419802E-11 +} 0xbed19b96f36ec68b +test expr-28.100 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +940189 E-112 x 1b99d6240c1a28_00000000000000000000000001& E-353 + convertToDouble +940189E-112 +} 0x29eb99d6240c1a28 +test expr-28.101 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -892771 E-213 x -125818c7294f27_0000000000000000000000000001& E-688 + convertToDouble -892771E-213 +} 0x94f25818c7294f27 +test expr-28.102 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +757803 E120 x 11e968b555bb80_11111111111111111111111111110& E418 + convertToDouble +757803E120 +} 0x5a11e968b555bb81 +test expr-28.103 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -252601 E120 x -17e1e0f1c7a4ab_11111111111111111111111111110& E416 + convertToDouble -252601E120 +} 0xd9f7e1e0f1c7a4ac +test expr-28.104 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +252601 E121 x 1dda592e398dd6_1111111111111111111111111110& E419 + convertToDouble +252601E121 +} 0x5a2dda592e398dd7 +test expr-28.105 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -505202 E120 x -17e1e0f1c7a4ab_11111111111111111111111111110& E417 + convertToDouble -505202E120 +} 0xda07e1e0f1c7a4ac +test expr-28.106 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +970811 E-264 x 1dda6b965c9629_11111111111111111111111110& E-858 + convertToDouble +970811E-264 +} 0x0a5dda6b965c962a +test expr-28.107 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -654839 E-60 x -100e7db3b3f241_111111111111111111111111110& E-180 + convertToDouble -654839E-60 +} 0xb4b00e7db3b3f242 +test expr-28.108 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +289767 E-178 x 1caad28f23a100_11111111111111111111111110& E-574 + convertToDouble +289767E-178 +} 0x1c1caad28f23a101 +test expr-28.109 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -579534 E-178 x -1caad28f23a100_11111111111111111111111110& E-573 + convertToDouble -579534E-178 +} 0x9c2caad28f23a101 +test expr-28.110 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8823691 E130 x -1e597c0b94b7ae_00000000000000000000000000000001& E454 + convertToDouble -8823691E130 +} 0xdc5e597c0b94b7ae +test expr-28.111 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9346704 E229 x 1d657059dc79aa_00000000000000000000000000001& E783 + convertToDouble +9346704E229 +} 0x70ed657059dc79aa +test expr-28.112 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1168338 E229 x -1d657059dc79aa_00000000000000000000000000001& E780 + convertToDouble -1168338E229 +} 0xf0bd657059dc79aa +test expr-28.113 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6063369 E-136 x -1ae6148e3902b3_000000000000000000000000000001& E-430 + convertToDouble -6063369E-136 +} 0xa51ae6148e3902b3 +test expr-28.114 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3865421 E-225 x 15d4fe53afec65_00000000000000000000000000001& E-726 + convertToDouble +3865421E-225 +} 0x1295d4fe53afec65 +test expr-28.115 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5783893 E-127 x -17e5902ce0e151_000000000000000000000000000000001& E-400 + convertToDouble -5783893E-127 +} 0xa6f7e5902ce0e151 +test expr-28.116 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2572231 E223 x 10f73be1dff9ac_111111111111111111111111111110& E762 + convertToDouble +2572231E223 +} 0x6f90f73be1dff9ad +test expr-28.117 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5144462 E223 x -10f73be1dff9ac_111111111111111111111111111110& E763 + convertToDouble -5144462E223 +} 0xefa0f73be1dff9ad +test expr-28.118 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1817623 E109 x 1d85f96f3fe659_11111111111111111111111111110& E382 + convertToDouble +1817623E109 +} 0x57dd85f96f3fe65a +test expr-28.119 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6431543 E-97 x 14f6493f34a0bc_11111111111111111111111111110& E-300 + convertToDouble +6431543E-97 +} 0x2d34f6493f34a0bd +test expr-28.120 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5444097 E-21 x -18849dd33c95ae_11111111111111111111111111110& E-48 + convertToDouble -5444097E-21 +} 0xbcf8849dd33c95af +test expr-28.121 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8076999 E-121 x 1fd332f7e2e3b2_11111111111111111111111111110& E-380 + convertToDouble +8076999E-121 +} 0x283fd332f7e2e3b3 +test expr-28.122 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9997649 E-270 x -1425e9d29e558d_1111111111111111111111111110& E-874 + convertToDouble -9997649E-270 +} 0x895425e9d29e558e +test expr-28.123 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +50609263 E157 x 1193aff1f1c8e3_000000000000000000000000000000001& E547 + convertToDouble +50609263E157 +} 0x622193aff1f1c8e3 +test expr-28.124 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +70589528 E130 x 1e597c0b94b7ae_00000000000000000000000000000001& E457 + convertToDouble +70589528E130 +} 0x5c8e597c0b94b7ae +test expr-28.125 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -88236910 E129 x -1e597c0b94b7ae_00000000000000000000000000000001& E454 + convertToDouble -88236910E129 +} 0xdc5e597c0b94b7ae +test expr-28.126 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +87575437 E-310 x 1805c19e680456_0000000000000000000000000000000000001& E-1004 + convertToDouble +87575437E-310 +} 0x013805c19e680456 +test expr-28.127 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -23135572 E-127 x -17e5902ce0e151_000000000000000000000000000000001& E-398 + convertToDouble -23135572E-127 +} 0xa717e5902ce0e151 +test expr-28.128 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +85900881 E177 x 14375b2214e1b4_111111111111111111111111111111110& E614 + convertToDouble +85900881E177 +} 0x6654375b2214e1b5 +test expr-28.129 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -84863171 E113 x -1a4a8e56474b8b_111111111111111111111111111111110& E401 + convertToDouble -84863171E113 +} 0xd90a4a8e56474b8c +test expr-28.130 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +68761586 E232 x 1a662c350f37f2_1111111111111111111111111111110& E796 + convertToDouble +68761586E232 +} 0x71ba662c350f37f3 +test expr-28.131 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -50464069 E286 x -1948dd06de561e_1111111111111111111111111111110& E975 + convertToDouble -50464069E286 +} 0xfce948dd06de561f +test expr-28.132 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +27869147 E-248 x 1dbbac6f83a820_111111111111111111111111111111111110& E-800 + convertToDouble +27869147E-248 +} 0x0dfdbbac6f83a821 +test expr-28.133 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -55738294 E-248 x -1dbbac6f83a820_111111111111111111111111111111111110& E-799 + convertToDouble -55738294E-248 +} 0x8e0dbbac6f83a821 +test expr-28.134 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +70176353 E-53 x 100683a21de854_1111111111111111111111111111111110& E-150 + convertToDouble +70176353E-53 +} 0x36900683a21de855 +test expr-28.135 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -80555086 E-32 x -1f29ca0ff893b0_111111111111111111111111111111110& E-81 + convertToDouble -80555086E-32 +} 0xbaef29ca0ff893b1 +test expr-28.136 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -491080654 E121 x -1c569e968e0944_00000000000000000000000000000000000000001& E430 + convertToDouble -491080654E121 +} 0xdadc569e968e0944 +test expr-28.137 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +526250918 E287 x 14997a298b2f2e_0000000000000000000000000000000000001& E982 + convertToDouble +526250918E287 +} 0x7d54997a298b2f2e +test expr-28.138 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -245540327 E121 x -1c569e968e0944_00000000000000000000000000000000000000001& E429 + convertToDouble -245540327E121 +} 0xdacc569e968e0944 +test expr-28.139 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -175150874 E-310 x -1805c19e680456_0000000000000000000000000000000000001& E-1003 + convertToDouble -175150874E-310 +} 0x814805c19e680456 +test expr-28.140 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +350301748 E-310 x 1805c19e680456_0000000000000000000000000000000000001& E-1002 + convertToDouble +350301748E-310 +} 0x015805c19e680456 +test expr-28.141 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -437877185 E-311 x -1805c19e680456_0000000000000000000000000000000000001& E-1005 + convertToDouble -437877185E-311 +} 0x812805c19e680456 +test expr-28.142 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +458117166 E52 x 16ce94febdc7a4_1111111111111111111111111111111111110& E201 + convertToDouble +458117166E52 +} 0x4c86ce94febdc7a5 +test expr-28.143 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -916234332 E52 x -16ce94febdc7a4_1111111111111111111111111111111111110& E202 + convertToDouble -916234332E52 +} 0xcc96ce94febdc7a5 +test expr-28.144 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +229058583 E52 x 16ce94febdc7a4_1111111111111111111111111111111111110& E200 + convertToDouble +229058583E52 +} 0x4c76ce94febdc7a5 +test expr-28.145 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -525789935 E98 x -16ecdc2a58fc64_11111111111111111111111111111111110& E354 + convertToDouble -525789935E98 +} 0xd616ecdc2a58fc65 +test expr-28.146 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +282926897 E-227 x 1ff5a70d3d2fee_1111111111111111111111111111111111110& E-727 + convertToDouble +282926897E-227 +} 0x128ff5a70d3d2fef +test expr-28.147 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -565853794 E-227 x -1ff5a70d3d2fee_1111111111111111111111111111111111110& E-726 + convertToDouble -565853794E-227 +} 0x929ff5a70d3d2fef +test expr-28.148 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +667284113 E-240 x 109355f8050c01_111111111111111111111111111111111110& E-768 + convertToDouble +667284113E-240 +} 0x0ff09355f8050c02 +test expr-28.149 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -971212611 E-126 x -1397d3c9745d2e_111111111111111111111111111111111111110& E-389 + convertToDouble -971212611E-126 +} 0xa7a397d3c9745d2f +test expr-28.150 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9981396317 E-182 x 18afe10a2a66aa_0000000000000000000000000000000000000001& E-572 + convertToDouble +9981396317E-182 +} 0x1c38afe10a2a66aa +test expr-28.151 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5035231965 E-156 x -101891fc4717fd_00000000000000000000000000000000000001& E-486 + convertToDouble -5035231965E-156 +} 0xa1901891fc4717fd +test expr-28.152 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8336960483 E-153 x 1a06a1024b95e1_000000000000000000000000000000000000001& E-476 + convertToDouble +8336960483E-153 +} 0x223a06a1024b95e1 +test expr-28.153 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8056371144 E-155 x -101891fc4717fd_00000000000000000000000000000000000001& E-482 + convertToDouble -8056371144E-155 +} 0xa1d01891fc4717fd +test expr-28.154 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6418488827 E79 x 1021f14ed7b3f9_11111111111111111111111111111111111111110& E295 + convertToDouble +6418488827E79 +} 0x526021f14ed7b3fa +test expr-28.155 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3981006983 E252 x -102ebaf189d5f1_1111111111111111111111111111111111111110& E869 + convertToDouble -3981006983E252 +} 0xf6402ebaf189d5f2 +test expr-28.156 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7962013966 E252 x 102ebaf189d5f1_1111111111111111111111111111111111111110& E870 + convertToDouble +7962013966E252 +} 0x76502ebaf189d5f2 +test expr-28.157 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -4713898551 E261 x -11d8813536e0df_11111111111111111111111111111111111110& E899 + convertToDouble -4713898551E261 +} 0xf821d8813536e0e0 +test expr-28.158 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8715380633 E-58 x 14614c3219891e_11111111111111111111111111111111111111110& E-160 + convertToDouble +8715380633E-58 +} 0x35f4614c3219891f +test expr-28.159 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9078555839 E-109 x -1fc575867314ed_111111111111111111111111111111111111111111110& E-330 + convertToDouble -9078555839E-109 +} 0xab5fc575867314ee +test expr-28.160 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9712126110 E-127 x 1397d3c9745d2e_111111111111111111111111111111111111110& E-389 + convertToDouble +9712126110E-127 +} 0x27a397d3c9745d2f +test expr-28.161 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +42333842451 E201 x 10189a26df575f_000000000000000000000000000000000000000000001& E703 + convertToDouble +42333842451E201 +} 0x6be0189a26df575f +test expr-28.162 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -84667684902 E201 x -10189a26df575f_000000000000000000000000000000000000000000001& E704 + convertToDouble -84667684902E201 +} 0xebf0189a26df575f +test expr-28.163 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +23792120709 E-315 x 10b517dc5d3212_00000000000000000000000000000000000000001& E-1012 + convertToDouble +23792120709E-315 +} 0x00b0b517dc5d3212 +test expr-28.164 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -78564021519 E-227 x -1155515fd37265_00000000000000000000000000000000000000000001& E-718 + convertToDouble -78564021519E-227 +} 0x931155515fd37265 +test expr-28.165 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +71812054883 E-188 x 1747b46d78c6fe_00000000000000000000000000000000000000001& E-589 + convertToDouble +71812054883E-188 +} 0x1b2747b46d78c6fe +test expr-28.166 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -30311163631 E-116 x -163ef6f560afe7_00000000000000000000000000000000000000001& E-351 + convertToDouble -30311163631E-116 +} 0xaa063ef6f560afe7 +test expr-28.167 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +71803914657 E292 x 10c0c44cdc2c05_11111111111111111111111111111111111111111110& E1006 + convertToDouble +71803914657E292 +} 0x7ed0c0c44cdc2c06 +test expr-28.168 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +36314223356 E-109 x 1fc575867314ed_111111111111111111111111111111111111111111110& E-328 + convertToDouble +36314223356E-109 +} 0x2b7fc575867314ee +test expr-28.169 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +18157111678 E-109 x 1fc575867314ed_111111111111111111111111111111111111111111110& E-329 + convertToDouble +18157111678E-109 +} 0x2b6fc575867314ee +test expr-28.170 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -45392779195 E-110 x -1fc575867314ed_111111111111111111111111111111111111111111110& E-331 + convertToDouble -45392779195E-110 +} 0xab4fc575867314ee +test expr-28.171 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +778380362293 E218 x 19ab8261990292_0000000000000000000000000000000000000000000000000001& E763 + convertToDouble +778380362293E218 +} 0x6fa9ab8261990292 +test expr-28.172 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -685763015669 E280 x -15fd7aa44d9477_000000000000000000000000000000000000000000000001& E969 + convertToDouble -685763015669E280 +} 0xfc85fd7aa44d9477 +test expr-28.173 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +952918668151 E70 x 14177a9915fbf8_00000000000000000000000000000000000000000000001& E272 + convertToDouble +952918668151E70 +} 0x50f4177a9915fbf8 +test expr-28.174 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -548357443505 E32 x -13abde2775e9b5_0000000000000000000000000000000000000000000001& E145 + convertToDouble -548357443505E32 +} 0xc903abde2775e9b5 +test expr-28.175 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +384865004907 E-285 x 1aa65b58639e69_00000000000000000000000000000000000000000000001& E-909 + convertToDouble +384865004907E-285 +} 0x072aa65b58639e69 +test expr-28.176 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -769730009814 E-285 x -1aa65b58639e69_00000000000000000000000000000000000000000000001& E-908 + convertToDouble -769730009814E-285 +} 0x873aa65b58639e69 +test expr-28.177 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +697015418417 E-93 x 152847dad80453_0000000000000000000000000000000000000000000001& E-270 + convertToDouble +697015418417E-93 +} 0x2f152847dad80453 +test expr-28.178 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -915654049301 E-28 x -1a645598d05989_0000000000000000000000000000000000000000000001& E-54 + convertToDouble -915654049301E-28 +} 0xbc9a645598d05989 +test expr-28.179 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +178548656339 E169 x 1b89d67c5b6d24_111111111111111111111111111111111111111111110& E598 + convertToDouble +178548656339E169 +} 0x655b89d67c5b6d25 +test expr-28.180 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -742522891517 E259 x -1c1c352fc3c308_11111111111111111111111111111111111111111111110& E899 + convertToDouble -742522891517E259 +} 0xf82c1c352fc3c309 +test expr-28.181 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +742522891517 E258 x 167cf7596968d3_11111111111111111111111111111111111111111111110& E896 + convertToDouble +742522891517E258 +} 0x77f67cf7596968d4 +test expr-28.182 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -357097312678 E169 x -1b89d67c5b6d24_111111111111111111111111111111111111111111110& E599 + convertToDouble -357097312678E169 +} 0xe56b89d67c5b6d25 +test expr-28.183 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3113521449172 E218 x -19ab8261990292_0000000000000000000000000000000000000000000000000001& E765 + convertToDouble -3113521449172E218 +} 0xefc9ab8261990292 +test expr-28.184 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3891901811465 E217 x 19ab8261990292_0000000000000000000000000000000000000000000000000001& E762 + convertToDouble +3891901811465E217 +} 0x6f99ab8261990292 +test expr-28.185 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1556760724586 E218 x -19ab8261990292_0000000000000000000000000000000000000000000000000001& E764 + convertToDouble -1556760724586E218 +} 0xefb9ab8261990292 +test expr-28.186 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9997878507563 E-195 x 153db2fea1ea31_0000000000000000000000000000000000000000000000001& E-605 + convertToDouble +9997878507563E-195 +} 0x1a253db2fea1ea31 +test expr-28.187 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7247563029154 E-319 x -10493f056e9ef3_0000000000000000000000000000000000000000000000001& E-1017 + convertToDouble -7247563029154E-319 +} 0x8060493f056e9ef3 +test expr-28.188 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3623781514577 E-319 x 10493f056e9ef3_0000000000000000000000000000000000000000000000001& E-1018 + convertToDouble +3623781514577E-319 +} 0x0050493f056e9ef3 +test expr-28.189 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3092446298323 E-200 x -113918353bbc47_0000000000000000000000000000000000000000000000001& E-623 + convertToDouble -3092446298323E-200 +} 0x99013918353bbc47 +test expr-28.190 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6363857920591 E145 x 128a61cf9483b6_1111111111111111111111111111111111111111111111111110& E524 + convertToDouble +6363857920591E145 +} 0x60b28a61cf9483b7 +test expr-28.191 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8233559360849 E94 x -11f324d11d4861_1111111111111111111111111111111111111111111111110& E355 + convertToDouble -8233559360849E94 +} 0xd621f324d11d4862 +test expr-28.192 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2689845954547 E49 x 10bd2bfd34f98a_1111111111111111111111111111111111111111111111110& E204 + convertToDouble +2689845954547E49 +} 0x4cb0bd2bfd34f98b +test expr-28.193 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5379691909094 E49 x -10bd2bfd34f98a_1111111111111111111111111111111111111111111111110& E205 + convertToDouble -5379691909094E49 +} 0xccc0bd2bfd34f98b +test expr-28.194 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5560322501926 E-301 x 15acc2053064c1_11111111111111111111111111111111111111111111111110& E-958 + convertToDouble +5560322501926E-301 +} 0x0415acc2053064c2 +test expr-28.195 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7812878489261 E-179 x -126dae7bbeda74_11111111111111111111111111111111111111111111111111110& E-552 + convertToDouble -7812878489261E-179 +} 0x9d726dae7bbeda75 +test expr-28.196 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8439398533053 E-256 x 170cc285f2d209_1111111111111111111111111111111111111111111111110& E-808 + convertToDouble +8439398533053E-256 +} 0x0d770cc285f2d20a +test expr-28.197 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2780161250963 E-301 x -15acc2053064c1_11111111111111111111111111111111111111111111111110& E-959 + convertToDouble -2780161250963E-301 +} 0x8405acc2053064c2 +test expr-28.198 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -87605699161665 E155 x -12920f96e7f9ef_00000000000000000000000000000000000000000000000000001& E561 + convertToDouble -87605699161665E155 +} 0xe302920f96e7f9ef +test expr-28.199 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -17521139832333 E156 x -12920f96e7f9ef_00000000000000000000000000000000000000000000000000001& E562 + convertToDouble -17521139832333E156 +} 0xe312920f96e7f9ef +test expr-28.200 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -88218101363513 E-170 x -18395688592faf_0000000000000000000000000000000000000000000000000001& E-519 + convertToDouble -88218101363513E-170 +} 0x9f88395688592faf +test expr-28.201 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +38639244311627 E-115 x 114ef3e205c817_0000000000000000000000000000000000000000000000000001& E-337 + convertToDouble +38639244311627E-115 +} 0x2ae14ef3e205c817 +test expr-28.202 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +35593959807306 E261 x 1072f3819c1320_11111111111111111111111111111111111111111111111111110& E912 + convertToDouble +35593959807306E261 +} 0x78f072f3819c1321 +test expr-28.203 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -53390939710959 E260 x -13bd243521b08d_11111111111111111111111111111111111111111111111111110& E909 + convertToDouble -53390939710959E260 +} 0xf8c3bd243521b08e +test expr-28.204 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +71187919614612 E261 x 1072f3819c1320_11111111111111111111111111111111111111111111111111110& E913 + convertToDouble +71187919614612E261 +} 0x790072f3819c1321 +test expr-28.205 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -88984899518265 E260 x -1072f3819c1320_11111111111111111111111111111111111111111111111111110& E910 + convertToDouble -88984899518265E260 +} 0xf8d072f3819c1321 +test expr-28.206 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +77003665618895 E-73 x 18bf7e7fa6f029_111111111111111111111111111111111111111111111111111111110& E-197 + convertToDouble +77003665618895E-73 +} 0x33a8bf7e7fa6f02a +test expr-28.207 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -15400733123779 E-72 x -18bf7e7fa6f029_111111111111111111111111111111111111111111111111111111110& E-196 + convertToDouble -15400733123779E-72 +} 0xb3b8bf7e7fa6f02a +test expr-28.208 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +61602932495116 E-72 x 18bf7e7fa6f029_111111111111111111111111111111111111111111111111111111110& E-194 + convertToDouble +61602932495116E-72 +} 0x33d8bf7e7fa6f02a +test expr-28.209 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -30801466247558 E-72 x -18bf7e7fa6f029_111111111111111111111111111111111111111111111111111111110& E-195 + convertToDouble -30801466247558E-72 +} 0xb3c8bf7e7fa6f02a +test expr-28.210 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +834735494917063 E-300 x 1fc6c26f899dd1_0000000000000000000000000000000000000000000000000000000001& E-948 + convertToDouble +834735494917063E-300 +} 0x04bfc6c26f899dd1 +test expr-28.211 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -589795149206434 E-151 x -15f2df5e675a0f_0000000000000000000000000000000000000000000000000000000001& E-453 + convertToDouble -589795149206434E-151 +} 0xa3a5f2df5e675a0f +test expr-28.212 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +475603213226859 E-42 x 12d73088f4050a_000000000000000000000000000000000000000000000000000000001& E-91 + convertToDouble +475603213226859E-42 +} 0x3a42d73088f4050a +test expr-28.213 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -294897574603217 E-151 x -15f2df5e675a0f_0000000000000000000000000000000000000000000000000000000001& E-454 + convertToDouble -294897574603217E-151 +} 0xa395f2df5e675a0f +test expr-28.214 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +850813008001913 E93 x 172f7a1831ad70_11111111111111111111111111111111111111111111111111111110& E358 + convertToDouble +850813008001913E93 +} 0x56572f7a1831ad71 +test expr-28.215 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -203449172043339 E185 x -1102b47e4af987_11111111111111111111111111111111111111111111111111111110& E662 + convertToDouble -203449172043339E185 +} 0xe95102b47e4af988 +test expr-28.216 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +406898344086678 E185 x 1102b47e4af987_11111111111111111111111111111111111111111111111111111110& E663 + convertToDouble +406898344086678E185 +} 0x696102b47e4af988 +test expr-28.217 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -813796688173356 E185 x -1102b47e4af987_11111111111111111111111111111111111111111111111111111110& E664 + convertToDouble -813796688173356E185 +} 0xe97102b47e4af988 +test expr-28.218 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6045338514609393 E244 x 1f746182e6cd5d_00000000000000000000000000000000000000000000000000000000001& E862 + convertToDouble +6045338514609393E244 +} 0x75df746182e6cd5d +test expr-28.219 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5145963778954906 E142 x -1dfc11fbf46087_00000000000000000000000000000000000000000000000000000000001& E523 + convertToDouble -5145963778954906E142 +} 0xe0adfc11fbf46087 +test expr-28.220 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2572981889477453 E142 x 1dfc11fbf46087_00000000000000000000000000000000000000000000000000000000001& E522 + convertToDouble +2572981889477453E142 +} 0x609dfc11fbf46087 +test expr-28.221 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6965949469487146 E74 x -15e2c10ad970b0_0000000000000000000000000000000000000000000000000000000001& E298 + convertToDouble -6965949469487146E74 +} 0xd295e2c10ad970b0 +test expr-28.222 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6182410494241627 E-119 x 11b96458445d07_0000000000000000000000000000000000000000000000000000000000001& E-343 + convertToDouble +6182410494241627E-119 +} 0x2a81b96458445d07 +test expr-28.223 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8510309498186985 E-277 x -1acc46749dccfe_000000000000000000000000000000000000000000000000000000000001& E-868 + convertToDouble -8510309498186985E-277 +} 0x89bacc46749dccfe +test expr-28.224 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6647704637273331 E-212 x 13e07d2c0cb1e9_0000000000000000000000000000000000000000000000000000000000001& E-652 + convertToDouble +6647704637273331E-212 +} 0x1733e07d2c0cb1e9 +test expr-28.225 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2215901545757777 E-212 x -1a80a6e566428c_000000000000000000000000000000000000000000000000000000000001& E-654 + convertToDouble -2215901545757777E-212 +} 0x971a80a6e566428c +test expr-28.226 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3771476185376383 E276 x 183010aba78a53_111111111111111111111111111111111111111111111111111111111110& E968 + convertToDouble +3771476185376383E276 +} 0x7c783010aba78a54 +test expr-28.227 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3729901848043846 E212 x -1f7d6721f7f143_111111111111111111111111111111111111111111111111111111111110& E755 + convertToDouble -3729901848043846E212 +} 0xef2f7d6721f7f144 +test expr-28.228 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3771476185376383 E277 x 1e3c14d6916ce8_111111111111111111111111111111111111111111111111111111111110& E971 + convertToDouble +3771476185376383E277 +} 0x7cae3c14d6916ce9 +test expr-28.229 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9977830465649166 E119 x -15f6de9d5d6b5a_111111111111111111111111111111111111111111111111111111111110& E448 + convertToDouble -9977830465649166E119 +} 0xdbf5f6de9d5d6b5b +test expr-28.230 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8439928496349319 E-142 x 12483a0f125699_111111111111111111111111111111111111111111111111111111111110& E-419 + convertToDouble +8439928496349319E-142 +} 0x25c2483a0f12569a +test expr-28.231 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8204230082070882 E-59 x -1d460f4fca1d36_1111111111111111111111111111111111111111111111111111111110& E-144 + convertToDouble -8204230082070882E-59 +} 0xb6fd460f4fca1d37 +test expr-28.232 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8853686434843997 E-244 x 157a340eb5d4f0_11111111111111111111111111111111111111111111111111111111110& E-758 + convertToDouble +8853686434843997E-244 +} 0x10957a340eb5d4f1 +test expr-28.233 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5553274272288559 E-104 x -1c47d20a19d1ed_1111111111111111111111111111111111111111111111111111111110& E-294 + convertToDouble -5553274272288559E-104 +} 0xad9c47d20a19d1ee +test expr-28.234 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +36149023611096162 E144 x 1491daad0ba280_0000000000000000000000000000000000000000000000000000000000000001& E533 + convertToDouble +36149023611096162E144 +} 0x614491daad0ba280 +test expr-28.235 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -36149023611096162 E147 x -14166f8cfd5cb1_0000000000000000000000000000000000000000000000000000000000000001& E543 + convertToDouble -36149023611096162E147 +} 0xe1e4166f8cfd5cb1 +test expr-28.236 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +18074511805548081 E146 x 1011f2d73116f4_0000000000000000000000000000000000000000000000000000000000000001& E539 + convertToDouble +18074511805548081E146 +} 0x61a011f2d73116f4 +test expr-28.237 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -18074511805548081 E147 x -14166f8cfd5cb1_0000000000000000000000000000000000000000000000000000000000000001& E542 + convertToDouble -18074511805548081E147 +} 0xe1d4166f8cfd5cb1 +test expr-28.238 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +97338774138954421 E-290 x 10d9b828199006_0000000000000000000000000000000000000000000000000000000000000001& E-907 + convertToDouble +97338774138954421E-290 +} 0x0740d9b828199006 +test expr-28.239 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -88133809804950961 E-308 x -119710dc581911_000000000000000000000000000000000000000000000000000000000000001& E-967 + convertToDouble -88133809804950961E-308 +} 0x83819710dc581911 +test expr-28.240 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +94080055902682397 E-243 x 11d467e94b856e_0000000000000000000000000000000000000000000000000000000000000001& E-751 + convertToDouble +94080055902682397E-243 +} 0x1101d467e94b856e +test expr-28.241 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -24691002732654881 E-115 x -159a2783ce70ab_000000000000000000000000000000000000000000000000000000000000001& E-328 + convertToDouble -24691002732654881E-115 +} 0xab759a2783ce70ab +test expr-28.242 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +52306490527514614 E49 x 13de005bd620de_111111111111111111111111111111111111111111111111111111111111111110& E218 + convertToDouble +52306490527514614E49 +} 0x4d93de005bd620df +test expr-28.243 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -26153245263757307 E49 x -13de005bd620de_111111111111111111111111111111111111111111111111111111111111111110& E217 + convertToDouble -26153245263757307E49 +} 0xcd83de005bd620df +test expr-28.244 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +55188692254193604 E165 x 1a999ddec72ac9_11111111111111111111111111111111111111111111111111111111111110& E603 + convertToDouble +55188692254193604E165 +} 0x65aa999ddec72aca +test expr-28.245 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -68985865317742005 E164 x -1a999ddec72ac9_11111111111111111111111111111111111111111111111111111111111110& E600 + convertToDouble -68985865317742005E164 +} 0xe57a999ddec72aca +test expr-28.246 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +27176258005319167 E-261 x 17c0747bd76fa0_11111111111111111111111111111111111111111111111111111111111111110& E-813 + convertToDouble +27176258005319167E-261 +} 0x0d27c0747bd76fa1 +test expr-28.247 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -73169230107256116 E-248 x -122cea327fa99c_1111111111111111111111111111111111111111111111111111111111110& E-768 + convertToDouble -73169230107256116E-248 +} 0x8ff22cea327fa99d +test expr-28.248 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +91461537634070145 E-249 x 122cea327fa99c_1111111111111111111111111111111111111111111111111111111111110& E-771 + convertToDouble +91461537634070145E-249 +} 0x0fc22cea327fa99d +test expr-28.249 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -54352516010638334 E-261 x -17c0747bd76fa0_11111111111111111111111111111111111111111111111111111111111111110& E-812 + convertToDouble -54352516010638334E-261 +} 0x8d37c0747bd76fa1 +test expr-28.250 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +586144289638535878 E280 x 11eccbd6f62709_0000000000000000000000000000000000000000000000000000000000000000001& E989 + convertToDouble +586144289638535878E280 +} 0x7dc1eccbd6f62709 +test expr-28.251 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -601117006785295431 E245 x -1e8b3525b3737e_000000000000000000000000000000000000000000000000000000000000000001& E872 + convertToDouble -601117006785295431E245 +} 0xf67e8b3525b3737e +test expr-28.252 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +293072144819267939 E280 x 11eccbd6f62709_0000000000000000000000000000000000000000000000000000000000000000001& E988 + convertToDouble +293072144819267939E280 +} 0x7db1eccbd6f62709 +test expr-28.253 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -953184713238516652 E272 x -138fd93f1f5342_00000000000000000000000000000000000000000000000000000000000000001& E963 + convertToDouble -953184713238516652E272 +} 0xfc238fd93f1f5342 +test expr-28.254 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +902042358290366539 E-281 x 122dc01ca1cb8c_0000000000000000000000000000000000000000000000000000000000000000001& E-874 + convertToDouble +902042358290366539E-281 +} 0x09522dc01ca1cb8c +test expr-28.255 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -557035730189854663 E-294 x -13bfac6bc4767b_00000000000000000000000000000000000000000000000000000000000000000001& E-918 + convertToDouble -557035730189854663E-294 +} 0x8693bfac6bc4767b +test expr-28.256 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +902042358290366539 E-280 x 16b93023ca3e6f_0000000000000000000000000000000000000000000000000000000000000000001& E-871 + convertToDouble +902042358290366539E-280 +} 0x0986b93023ca3e6f +test expr-28.257 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -354944100507554393 E-238 x -19a91cece6ad07_000000000000000000000000000000000000000000000000000000000000000001& E-733 + convertToDouble -354944100507554393E-238 +} 0x9229a91cece6ad07 +test expr-28.258 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +272104041512242479 E199 x 1f92bacb3cb40b_11111111111111111111111111111111111111111111111111111111111111111111110& E718 + convertToDouble +272104041512242479E199 +} 0x6cdf92bacb3cb40c +test expr-28.259 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -816312124536727437 E199 x -17ae0c186d8708_11111111111111111111111111111111111111111111111111111111111111111111110& E720 + convertToDouble -816312124536727437E199 +} 0xecf7ae0c186d8709 +test expr-28.260 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +544208083024484958 E199 x 1f92bacb3cb40b_11111111111111111111111111111111111111111111111111111111111111111111110& E719 + convertToDouble +544208083024484958E199 +} 0x6cef92bacb3cb40c +test expr-28.261 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -792644927852378159 E78 x -17bff336d8ff05_111111111111111111111111111111111111111111111111111111111111111111110& E318 + convertToDouble -792644927852378159E78 +} 0xd3d7bff336d8ff06 +test expr-28.262 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -679406450132979175 E-263 x -17c0747bd76fa0_11111111111111111111111111111111111111111111111111111111111111110& E-815 + convertToDouble -679406450132979175E-263 +} 0x8d07c0747bd76fa1 +test expr-28.263 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +543525160106383340 E-262 x 17c0747bd76fa0_11111111111111111111111111111111111111111111111111111111111111110& E-812 + convertToDouble +543525160106383340E-262 +} 0x0d37c0747bd76fa1 +test expr-28.264 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7400253695682920196 E215 x 1dca94e3990085_00000000000000000000000000000000000000000000000000000000000000000000001& E776 + convertToDouble +7400253695682920196E215 +} 0x707dca94e3990085 +test expr-28.265 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1850063423920730049 E215 x -1dca94e3990085_00000000000000000000000000000000000000000000000000000000000000000000001& E774 + convertToDouble -1850063423920730049E215 +} 0xf05dca94e3990085 +test expr-28.266 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3700126847841460098 E215 x 1dca94e3990085_00000000000000000000000000000000000000000000000000000000000000000000001& E775 + convertToDouble +3700126847841460098E215 +} 0x706dca94e3990085 +test expr-28.267 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9250317119603650245 E214 x -1dca94e3990085_00000000000000000000000000000000000000000000000000000000000000000000001& E773 + convertToDouble -9250317119603650245E214 +} 0xf04dca94e3990085 +test expr-28.268 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8396094300569779681 E-252 x 1ab223efcee35a_0000000000000000000000000000000000000000000000000000000000000000000000001& E-775 + convertToDouble +8396094300569779681E-252 +} 0x0f8ab223efcee35a +test expr-28.269 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3507665085003296281 E-75 x -160499b881ea50_00000000000000000000000000000000000000000000000000000000000000000000001& E-188 + convertToDouble -3507665085003296281E-75 +} 0xb4360499b881ea50 +test expr-28.270 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7015330170006592562 E-75 x 160499b881ea50_00000000000000000000000000000000000000000000000000000000000000000000001& E-187 + convertToDouble +7015330170006592562E-75 +} 0x34460499b881ea50 +test expr-28.271 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7015330170006592562 E-74 x -1b85c026a264e4_00000000000000000000000000000000000000000000000000000000000000000000001& E-184 + convertToDouble -7015330170006592562E-74 +} 0xb47b85c026a264e4 +test expr-28.272 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7185620434951919351 E205 x 18d92d2bcc7a80_1111111111111111111111111111111111111111111111111111111111111111111111110& E743 + convertToDouble +7185620434951919351E205 +} 0x6e68d92d2bcc7a81 +test expr-28.273 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1360520207561212395 E198 x -1f92bacb3cb40b_11111111111111111111111111111111111111111111111111111111111111111111110& E717 + convertToDouble -1360520207561212395E198 +} 0xeccf92bacb3cb40c +test expr-28.274 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2178999185345151731 E-184 x 19b2c4d2a82335_1111111111111111111111111111111111111111111111111111111111111111111110& E-551 + convertToDouble +2178999185345151731E-184 +} 0x1d89b2c4d2a82336 +test expr-28.275 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8691089486201567102 E-218 x -1a9c42e5b6d89e_1111111111111111111111111111111111111111111111111111111111111111111110& E-662 + convertToDouble -8691089486201567102E-218 +} 0x969a9c42e5b6d89f +test expr-28.276 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4345544743100783551 E-218 x 1a9c42e5b6d89e_1111111111111111111111111111111111111111111111111111111111111111111110& E-663 + convertToDouble +4345544743100783551E-218 +} 0x168a9c42e5b6d89f +test expr-28.277 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -4357998370690303462 E-184 x -19b2c4d2a82335_1111111111111111111111111111111111111111111111111111111111111111111110& E-550 + convertToDouble -4357998370690303462E-184 +} 0x9d99b2c4d2a82336 +test expr-28.278 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +59825267349106892461 E177 x 199c476d7868df_000000000000000000000000000000000000000000000000000000000000000000000001& E653 + convertToDouble +59825267349106892461E177 +} 0x68c99c476d7868df +test expr-28.279 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -62259110684423957791 E47 x -1d8f2cfc20d6e8_0000000000000000000000000000000000000000000000000000000000000000000000001& E221 + convertToDouble -62259110684423957791E47 +} 0xcdcd8f2cfc20d6e8 +test expr-28.280 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +58380168477038565599 E265 x 1f686e9efbe48d_00000000000000000000000000000000000000000000000000000000000000000000000001& E945 + convertToDouble +58380168477038565599E265 +} 0x7b0f686e9efbe48d +test expr-28.281 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -62259110684423957791 E48 x -12797c1d948651_0000000000000000000000000000000000000000000000000000000000000000000000001& E225 + convertToDouble -62259110684423957791E48 +} 0xce02797c1d948651 +test expr-28.282 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -33584377202279118724 E-252 x -1ab223efcee35a_0000000000000000000000000000000000000000000000000000000000000000000000001& E-773 + convertToDouble -33584377202279118724E-252 +} 0x8faab223efcee35a +test expr-28.283 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -57484963479615354808 E205 x -18d92d2bcc7a80_1111111111111111111111111111111111111111111111111111111111111111111111110& E746 + convertToDouble -57484963479615354808E205 +} 0xee98d92d2bcc7a81 +test expr-28.284 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +71856204349519193510 E204 x 18d92d2bcc7a80_1111111111111111111111111111111111111111111111111111111111111111111111110& E743 + convertToDouble +71856204349519193510E204 +} 0x6e68d92d2bcc7a81 +test expr-28.285 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -14371240869903838702 E205 x -18d92d2bcc7a80_1111111111111111111111111111111111111111111111111111111111111111111111110& E744 + convertToDouble -14371240869903838702E205 +} 0xee78d92d2bcc7a81 +test expr-28.286 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +36992084760177624177 E-318 x 18c5f9551c2f99_111111111111111111111111111111111111111111111111111111111111111111111110& E-992 + convertToDouble +36992084760177624177E-318 +} 0x01f8c5f9551c2f9a +test expr-28.287 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -73984169520355248354 E-318 x -18c5f9551c2f99_111111111111111111111111111111111111111111111111111111111111111111111110& E-991 + convertToDouble -73984169520355248354E-318 +} 0x8208c5f9551c2f9a +test expr-28.288 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +99257763227713890244 E-115 x 15338a554b9ce0_11111111111111111111111111111111111111111111111111111111111111111111110& E-316 + convertToDouble +99257763227713890244E-115 +} 0x2c35338a554b9ce1 +test expr-28.289 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -87336362425182547697 E-280 x -1130304e7d9c32_11111111111111111111111111111111111111111111111111111111111111111111110& E-864 + convertToDouble -87336362425182547697E-280 +} 0x89f130304e7d9c33 +test expr-28.290 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7 E289 x 1cbb547777a284_10000000001& E962 + convertToDouble +7E289 +} 0x7c1cbb547777a285 +test expr-28.291 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3 E153 x -1ca3d8e6d80cba_100000001& E509 + convertToDouble -3E153 +} 0xdfcca3d8e6d80cbb +test expr-28.292 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6 E153 x 1ca3d8e6d80cba_100000001& E510 + convertToDouble +6E153 +} 0x5fdca3d8e6d80cbb +test expr-28.293 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5 E243 x -176ec98994f488_10000001& E809 + convertToDouble -5E243 +} 0xf2876ec98994f489 +test expr-28.294 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7 E-161 x 1f7e0db3799aa2_10000000001& E-533 + convertToDouble +7E-161 +} 0x1eaf7e0db3799aa3 +test expr-28.295 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7 E-172 x -15a4337446ef2a_1000000001& E-569 + convertToDouble -7E-172 +} 0x9c65a4337446ef2b +test expr-28.296 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8 E-63 x 1a53fc9631d10c_10000001& E-207 + convertToDouble +8E-63 +} 0x330a53fc9631d10d +test expr-28.297 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7 E-113 x -158c47e6eea282_10000001& E-373 + convertToDouble -7E-113 +} 0xa8a58c47e6eea283 +test expr-28.298 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8 E126 x 17a2ecc414a03f_0111111111110& E421 + convertToDouble +8E126 +} 0x5a47a2ecc414a03f +test expr-28.299 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -4 E126 x -17a2ecc414a03f_0111111111110& E420 + convertToDouble -4E126 +} 0xda37a2ecc414a03f +test expr-28.300 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5 E125 x 17a2ecc414a03f_0111111111110& E417 + convertToDouble +5E125 +} 0x5a07a2ecc414a03f +test expr-28.301 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1 E126 x -17a2ecc414a03f_0111111111110& E418 + convertToDouble -1E126 +} 0xda17a2ecc414a03f +test expr-28.302 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8 E-163 x 1708d0f84d3de7_011111110& E-539 + convertToDouble +8E-163 +} 0x1e4708d0f84d3de7 +test expr-28.303 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1 E-163 x -1708d0f84d3de7_011111110& E-542 + convertToDouble -1E-163 +} 0x9e1708d0f84d3de7 +test expr-28.304 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2 E-163 x 1708d0f84d3de7_011111110& E-541 + convertToDouble +2E-163 +} 0x1e2708d0f84d3de7 +test expr-28.305 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -4 E-163 x -1708d0f84d3de7_011111110& E-540 + convertToDouble -4E-163 +} 0x9e3708d0f84d3de7 +test expr-28.306 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +51 E195 x 15d51d249dca42_1000000000001& E653 + convertToDouble +51E195 +} 0x68c5d51d249dca43 +test expr-28.307 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -37 E46 x -1033d7eca0adee_100000000000001& E158 + convertToDouble -37E46 +} 0xc9d033d7eca0adef +test expr-28.308 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +74 E46 x 1033d7eca0adee_100000000000001& E159 + convertToDouble +74E46 +} 0x49e033d7eca0adef +test expr-28.309 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -56 E289 x -1cbb547777a284_10000000001& E965 + convertToDouble -56E289 +} 0xfc4cbb547777a285 +test expr-28.310 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +69 E-145 x 158a41b31c9a9a_100000000001& E-476 + convertToDouble +69E-145 +} 0x22358a41b31c9a9b +test expr-28.311 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -70 E-162 x -1f7e0db3799aa2_10000000001& E-533 + convertToDouble -70E-162 +} 0x9eaf7e0db3799aa3 +test expr-28.312 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +56 E-161 x 1f7e0db3799aa2_10000000001& E-530 + convertToDouble +56E-161 +} 0x1edf7e0db3799aa3 +test expr-28.313 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -21 E-303 x -1ccd59caa6a750_10000000001& E-1003 + convertToDouble -21E-303 +} 0x814ccd59caa6a751 +test expr-28.314 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +34 E-276 x 12d5a4350d30ff_011111111110& E-912 + convertToDouble +34E-276 +} 0x06f2d5a4350d30ff +test expr-28.315 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -68 E-276 x -12d5a4350d30ff_011111111110& E-911 + convertToDouble -68E-276 +} 0x8702d5a4350d30ff +test expr-28.316 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +85 E-277 x 12d5a4350d30ff_011111111110& E-914 + convertToDouble +85E-277 +} 0x06d2d5a4350d30ff +test expr-28.317 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -87 E-274 x -12d36cf48e7abd_011111111111110& E-904 + convertToDouble -87E-274 +} 0x8772d36cf48e7abd +test expr-28.318 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +829 E102 x 17221a79cdd1d8_1000000000000001& E348 + convertToDouble +829E102 +} 0x55b7221a79cdd1d9 +test expr-28.319 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -623 E100 x -1640a62f3a83de_10000000000000000001& E341 + convertToDouble -623E100 +} 0xd54640a62f3a83df +test expr-28.320 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +723 E-162 x 145457ee24abd2_1000000000000001& E-529 + convertToDouble +723E-162 +} 0x1ee45457ee24abd3 +test expr-28.321 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -457 E-102 x -1ffc81bc29f02a_100000000000000001& E-331 + convertToDouble -457E-102 +} 0xab4ffc81bc29f02b +test expr-28.322 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +914 E-102 x 1ffc81bc29f02a_100000000000000001& E-330 + convertToDouble +914E-102 +} 0x2b5ffc81bc29f02b +test expr-28.323 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -323 E-135 x -1d589ae4d70218_10000000000001& E-441 + convertToDouble -323E-135 +} 0xa46d589ae4d70219 +test expr-28.324 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +151 E176 x 1dcf7df8f573b7_0111111111111111110& E591 + convertToDouble +151E176 +} 0x64edcf7df8f573b7 +test expr-28.325 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -302 E176 x -1dcf7df8f573b7_0111111111111111110& E592 + convertToDouble -302E176 +} 0xe4fdcf7df8f573b7 +test expr-28.326 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +921 E90 x 1c420a45fd70ff_0111111111111110& E308 + convertToDouble +921E90 +} 0x533c420a45fd70ff +test expr-28.327 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -604 E176 x -1dcf7df8f573b7_0111111111111111110& E593 + convertToDouble -604E176 +} 0xe50dcf7df8f573b7 +test expr-28.328 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +823 E-206 x 14a48933c208ad_0111111111111110& E-675 + convertToDouble +823E-206 +} 0x15c4a48933c208ad +test expr-28.329 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -463 E-114 x -11d0c83f6378a5_011111111111110& E-370 + convertToDouble -463E-114 +} 0xa8d1d0c83f6378a5 +test expr-28.330 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +348 E-274 x 12d36cf48e7abd_011111111111110& E-902 + convertToDouble +348E-274 +} 0x0792d36cf48e7abd +test expr-28.331 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9968 E100 x 1640a62f3a83de_10000000000000000001& E345 + convertToDouble +9968E100 +} 0x558640a62f3a83df +test expr-28.332 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6230 E99 x -1640a62f3a83de_10000000000000000001& E341 + convertToDouble -6230E99 +} 0xd54640a62f3a83df +test expr-28.333 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1246 E100 x 1640a62f3a83de_10000000000000000001& E342 + convertToDouble +1246E100 +} 0x555640a62f3a83df +test expr-28.334 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6676 E-296 x 15519ac5142aaa_1000000000000000000001& E-971 + convertToDouble +6676E-296 +} 0x0345519ac5142aab +test expr-28.335 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8345 E-297 x -15519ac5142aaa_1000000000000000000001& E-974 + convertToDouble -8345E-297 +} 0x8315519ac5142aab +test expr-28.336 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1669 E-296 x 15519ac5142aaa_1000000000000000000001& E-973 + convertToDouble +1669E-296 +} 0x0325519ac5142aab +test expr-28.337 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3338 E-296 x -15519ac5142aaa_1000000000000000000001& E-972 + convertToDouble -3338E-296 +} 0x8335519ac5142aab +test expr-28.338 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3257 E58 x 1444b34a6fb3eb_01111111111111111110& E204 + convertToDouble +3257E58 +} 0x4cb444b34a6fb3eb +test expr-28.339 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6514 E58 x -1444b34a6fb3eb_01111111111111111110& E205 + convertToDouble -6514E58 +} 0xccc444b34a6fb3eb +test expr-28.340 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2416 E176 x 1dcf7df8f573b7_0111111111111111110& E595 + convertToDouble +2416E176 +} 0x652dcf7df8f573b7 +test expr-28.341 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8085 E-63 x 19fbf3c19b9a79_0111111111111111110& E-197 + convertToDouble +8085E-63 +} 0x33a9fbf3c19b9a79 +test expr-28.342 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3234 E-62 x -19fbf3c19b9a79_0111111111111111110& E-195 + convertToDouble -3234E-62 +} 0xb3c9fbf3c19b9a79 +test expr-28.343 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1617 E-62 x 19fbf3c19b9a79_0111111111111111110& E-196 + convertToDouble +1617E-62 +} 0x33b9fbf3c19b9a79 +test expr-28.344 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6468 E-62 x -19fbf3c19b9a79_0111111111111111110& E-194 + convertToDouble -6468E-62 +} 0xb3d9fbf3c19b9a79 +test expr-28.345 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +53418 E111 x 15b1051df943a8_1000000000000000000001& E384 + convertToDouble +53418E111 +} 0x57f5b1051df943a9 +test expr-28.346 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -60513 E160 x -15043b64e56c72_1000000000000000000001& E547 + convertToDouble -60513E160 +} 0xe225043b64e56c73 +test expr-28.347 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +26709 E111 x 15b1051df943a8_1000000000000000000001& E383 + convertToDouble +26709E111 +} 0x57e5b1051df943a9 +test expr-28.348 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -99447 E166 x -10782189b336ae_1000000000000000000001& E568 + convertToDouble -99447E166 +} 0xe370782189b336af +test expr-28.349 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +12549 E48 x 10c52fe6dc6a1b_011111111111111111111110& E173 + convertToDouble +12549E48 +} 0x4ac0c52fe6dc6a1b +test expr-28.350 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -25098 E48 x -10c52fe6dc6a1b_011111111111111111111110& E174 + convertToDouble -25098E48 +} 0xcad0c52fe6dc6a1b +test expr-28.351 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +50196 E48 x 10c52fe6dc6a1b_011111111111111111111110& E175 + convertToDouble +50196E48 +} 0x4ae0c52fe6dc6a1b +test expr-28.352 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -62745 E47 x -10c52fe6dc6a1b_011111111111111111111110& E172 + convertToDouble -62745E47 +} 0xcab0c52fe6dc6a1b +test expr-28.353 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +83771 E-73 x 1ce886fb5ffd6d_0111111111111111111110& E-227 + convertToDouble +83771E-73 +} 0x31cce886fb5ffd6d +test expr-28.354 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -97451 E-167 x -1c0f220fb1c70d_01111111111111111111110& E-539 + convertToDouble -97451E-167 +} 0x9e4c0f220fb1c70d +test expr-28.355 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +86637 E-203 x 10943edb4e81db_0111111111111111111110& E-658 + convertToDouble +86637E-203 +} 0x16d0943edb4e81db +test expr-28.356 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -75569 E-254 x -15a462d91c6ab3_0111111111111111111111111110& E-828 + convertToDouble -75569E-254 +} 0x8c35a462d91c6ab3 +test expr-28.357 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +473806 E83 x 17d15bf3186080_1000000000000000000000001& E294 + convertToDouble +473806E83 +} 0x5257d15bf3186081 +test expr-28.358 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -947612 E83 x -17d15bf3186080_1000000000000000000000001& E295 + convertToDouble -947612E83 +} 0xd267d15bf3186081 +test expr-28.359 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +292369 E76 x 18a85eb277e644_100000000000000000000000001& E270 + convertToDouble +292369E76 +} 0x50d8a85eb277e645 +test expr-28.360 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -584738 E76 x -18a85eb277e644_100000000000000000000000001& E271 + convertToDouble -584738E76 +} 0xd0e8a85eb277e645 +test expr-28.361 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +933587 E-140 x 1b248728b9c116_100000000000000000000000001& E-446 + convertToDouble +933587E-140 +} 0x241b248728b9c117 +test expr-28.362 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -720919 E-14 x -1ef696965cbf04_10000000000000000000000001& E-28 + convertToDouble -720919E-14 +} 0xbe3ef696965cbf05 +test expr-28.363 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +535001 E-149 x 10b38e07c745ae_1000000000000000000000001& E-476 + convertToDouble +535001E-149 +} 0x2230b38e07c745af +test expr-28.364 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -890521 E-235 x -114828ee39c852_1000000000000000000000001& E-761 + convertToDouble -890521E-235 +} 0x90614828ee39c853 +test expr-28.365 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +548057 E81 x 11a1d9135cca53_0111111111111111111111110& E288 + convertToDouble +548057E81 +} 0x51f1a1d9135cca53 +test expr-28.366 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -706181 E88 x -1b156ac4c2d1e5_0111111111111111111111110& E311 + convertToDouble -706181E88 +} 0xd36b156ac4c2d1e5 +test expr-28.367 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +820997 E106 x 1b4f8b64fa125d_0111111111111111111111110& E371 + convertToDouble +820997E106 +} 0x572b4f8b64fa125d +test expr-28.368 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -320681 E63 x -17ca18a876c5ef_0111111111111111111111110& E227 + convertToDouble -320681E63 +} 0xce27ca18a876c5ef +test expr-28.369 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +928609 E-261 x 1be2dd66200bef_011111111111111111111111111110& E-848 + convertToDouble +928609E-261 +} 0x0afbe2dd66200bef +test expr-28.370 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -302276 E-254 x -15a462d91c6ab3_0111111111111111111111111110& E-826 + convertToDouble -302276E-254 +} 0x8c55a462d91c6ab3 +test expr-28.371 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +151138 E-254 x 15a462d91c6ab3_0111111111111111111111111110& E-827 + convertToDouble +151138E-254 +} 0x0c45a462d91c6ab3 +test expr-28.372 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4691773 E45 x 19147b9330eaae_1000000000000000000000000001& E171 + convertToDouble +4691773E45 +} 0x4aa9147b9330eaaf +test expr-28.373 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9383546 E45 x -19147b9330eaae_1000000000000000000000000001& E172 + convertToDouble -9383546E45 +} 0xcab9147b9330eaaf +test expr-28.374 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3059949 E-243 x 13ecf22ea07862_10000000000000000000000000001& E-786 + convertToDouble +3059949E-243 +} 0x0ed3ecf22ea07863 +test expr-28.375 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6119898 E-243 x -13ecf22ea07862_10000000000000000000000000001& E-785 + convertToDouble -6119898E-243 +} 0x8ee3ecf22ea07863 +test expr-28.376 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5356626 E-213 x 1b84252abdf6ba_100000000000000000000000001& E-686 + convertToDouble +5356626E-213 +} 0x151b84252abdf6bb +test expr-28.377 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -4877378 E-199 x -11cd5cd90cb200_100000000000000000000000001& E-639 + convertToDouble -4877378E-199 +} 0x9801cd5cd90cb201 +test expr-28.378 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7716693 E223 x 1972d9d2cff683_01111111111111111111111111110& E763 + convertToDouble +7716693E223 +} 0x6fa972d9d2cff683 +test expr-28.379 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5452869 E109 x -16247b136fecc3_01111111111111111111111111110& E384 + convertToDouble -5452869E109 +} 0xd7f6247b136fecc3 +test expr-28.380 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4590831 E156 x 14689b4a5fa201_011111111111111111111111111110& E540 + convertToDouble +4590831E156 +} 0x61b4689b4a5fa201 +test expr-28.381 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9181662 E156 x -14689b4a5fa201_011111111111111111111111111110& E541 + convertToDouble -9181662E156 +} 0xe1c4689b4a5fa201 +test expr-28.382 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3714436 E-261 x -1be2dd66200bef_011111111111111111111111111110& E-846 + convertToDouble -3714436E-261 +} 0x8b1be2dd66200bef +test expr-28.383 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4643045 E-262 x 1be2dd66200bef_011111111111111111111111111110& E-849 + convertToDouble +4643045E-262 +} 0x0aebe2dd66200bef +test expr-28.384 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7428872 E-261 x -1be2dd66200bef_011111111111111111111111111110& E-845 + convertToDouble -7428872E-261 +} 0x8b2be2dd66200bef +test expr-28.385 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +52942146 E130 x 16c31d08af89c2_10000000000000000000000000000001& E457 + convertToDouble +52942146E130 +} 0x5c86c31d08af89c3 +test expr-28.386 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -27966061 E145 x -155bcf72fd10f8_1000000000000000000000000000000001& E506 + convertToDouble -27966061E145 +} 0xdf955bcf72fd10f9 +test expr-28.387 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +26471073 E130 x 16c31d08af89c2_10000000000000000000000000000001& E456 + convertToDouble +26471073E130 +} 0x5c76c31d08af89c3 +test expr-28.388 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -55932122 E145 x -155bcf72fd10f8_1000000000000000000000000000000001& E507 + convertToDouble -55932122E145 +} 0xdfa55bcf72fd10f9 +test expr-28.389 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +95412548 E-99 x 18e0bfb98864c8_100000000000000000000000000000001& E-303 + convertToDouble +95412548E-99 +} 0x2d08e0bfb98864c9 +test expr-28.390 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -47706274 E-99 x -18e0bfb98864c8_100000000000000000000000000000001& E-304 + convertToDouble -47706274E-99 +} 0xacf8e0bfb98864c9 +test expr-28.391 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +23853137 E-99 x 18e0bfb98864c8_100000000000000000000000000000001& E-305 + convertToDouble +23853137E-99 +} 0x2ce8e0bfb98864c9 +test expr-28.392 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -78493654 E-301 x -140d76077b648e_10000000000000000000000000000001& E-974 + convertToDouble -78493654E-301 +} 0x83140d76077b648f +test expr-28.393 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +65346417 E29 x 13aa1ad778f23b_0111111111111111111111111111110& E122 + convertToDouble +65346417E29 +} 0x4793aa1ad778f23b +test expr-28.394 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -51083099 E167 x -14a75eb58df47b_0111111111111111111111111111110& E580 + convertToDouble -51083099E167 +} 0xe434a75eb58df47b +test expr-28.395 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +89396333 E264 x 1526f061ca9053_0111111111111111111111111111111110& E903 + convertToDouble +89396333E264 +} 0x786526f061ca9053 +test expr-28.396 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -84863171 E114 x -106e98f5ec8f37_0111111111111111111111111111111110& E405 + convertToDouble -84863171E114 +} 0xd9406e98f5ec8f37 +test expr-28.397 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +59540836 E-251 x 10430c2d075c07_011111111111111111111111111111110& E-808 + convertToDouble +59540836E-251 +} 0x0d70430c2d075c07 +test expr-28.398 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -74426045 E-252 x -10430c2d075c07_011111111111111111111111111111110& E-811 + convertToDouble -74426045E-252 +} 0x8d40430c2d075c07 +test expr-28.399 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +14885209 E-251 x 10430c2d075c07_011111111111111111111111111111110& E-810 + convertToDouble +14885209E-251 +} 0x0d50430c2d075c07 +test expr-28.400 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -29770418 E-251 x -10430c2d075c07_011111111111111111111111111111110& E-809 + convertToDouble -29770418E-251 +} 0x8d60430c2d075c07 +test expr-28.401 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +982161308 E122 x 11b6231e18c5ca_100000000000000000000000000000000000000001& E435 + convertToDouble +982161308E122 +} 0x5b21b6231e18c5cb +test expr-28.402 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -245540327 E122 x -11b6231e18c5ca_100000000000000000000000000000000000000001& E433 + convertToDouble -245540327E122 +} 0xdb01b6231e18c5cb +test expr-28.403 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +491080654 E122 x 11b6231e18c5ca_100000000000000000000000000000000000000001& E434 + convertToDouble +491080654E122 +} 0x5b11b6231e18c5cb +test expr-28.404 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +525452622 E-310 x 12045136ce0340_1000000000000000000000000000000000001& E-1001 + convertToDouble +525452622E-310 +} 0x0162045136ce0341 +test expr-28.405 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -771837113 E-134 x -14e61f991c4ed0_100000000000000000000000000000000001& E-416 + convertToDouble -771837113E-134 +} 0xa5f4e61f991c4ed1 +test expr-28.406 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +820858081 E-150 x 14050669985a86_10000000000000000000000000000000001& E-469 + convertToDouble +820858081E-150 +} 0x22a4050669985a87 +test expr-28.407 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -262726311 E-310 x -12045136ce0340_1000000000000000000000000000000000001& E-1002 + convertToDouble -262726311E-310 +} 0x8152045136ce0341 +test expr-28.408 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +923091487 E209 x 10bc60e6896717_011111111111111111111111111111111110& E724 + convertToDouble +923091487E209 +} 0x6d30bc60e6896717 +test expr-28.409 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -653777767 E273 x -120223f2b3a881_0111111111111111111111111111111111111110& E936 + convertToDouble -653777767E273 +} 0xfa720223f2b3a881 +test expr-28.410 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +842116236 E-53 x 1809c5732cdc7f_0111111111111111111111111111111110& E-147 + convertToDouble +842116236E-53 +} 0x36c809c5732cdc7f +test expr-28.411 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -741111169 E-202 x -15a3e1d1b73099_01111111111111111111111111111111110& E-642 + convertToDouble -741111169E-202 +} 0x97d5a3e1d1b73099 +test expr-28.412 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +839507247 E-284 x 129a1effc50859_0111111111111111111111111111111110& E-914 + convertToDouble +839507247E-284 +} 0x06d29a1effc50859 +test expr-28.413 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -951487269 E-264 x -1c92befccb5f59_0111111111111111111111111111111110& E-848 + convertToDouble -951487269E-264 +} 0x8afc92befccb5f59 +test expr-28.414 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9821613080 E121 x -11b6231e18c5ca_100000000000000000000000000000000000000001& E435 + convertToDouble -9821613080E121 +} 0xdb21b6231e18c5cb +test expr-28.415 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6677856011 E-31 x 193a6d11077292_100000000000000000000000000000000000001& E-71 + convertToDouble +6677856011E-31 +} 0x3b893a6d11077293 +test expr-28.416 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3573796826 E-266 x -112be2041a79fc_100000000000000000000000000000000000001& E-852 + convertToDouble -3573796826E-266 +} 0x8ab12be2041a79fd +test expr-28.417 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7147593652 E-266 x 112be2041a79fc_100000000000000000000000000000000000001& E-851 + convertToDouble +7147593652E-266 +} 0x0ac12be2041a79fd +test expr-28.418 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9981396317 E-181 x -1edbd94cb50054_100000000000000000000000000000000000001& E-569 + convertToDouble -9981396317E-181 +} 0x9c6edbd94cb50055 +test expr-28.419 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3268888835 E272 x 120223f2b3a881_0111111111111111111111111111111111111110& E935 + convertToDouble +3268888835E272 +} 0x7a620223f2b3a881 +test expr-28.420 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -2615111068 E273 x -120223f2b3a881_0111111111111111111111111111111111111110& E938 + convertToDouble -2615111068E273 +} 0xfa920223f2b3a881 +test expr-28.421 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1307555534 E273 x 120223f2b3a881_0111111111111111111111111111111111111110& E937 + convertToDouble +1307555534E273 +} 0x7a820223f2b3a881 +test expr-28.422 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2990671154 E-190 x 13db11ac608107_01111111111111111111111111111111111111110& E-600 + convertToDouble +2990671154E-190 +} 0x1a73db11ac608107 +test expr-28.423 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1495335577 E-190 x -13db11ac608107_01111111111111111111111111111111111111110& E-601 + convertToDouble -1495335577E-190 +} 0x9a63db11ac608107 +test expr-28.424 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +5981342308 E-190 x 13db11ac608107_01111111111111111111111111111111111111110& E-599 + convertToDouble +5981342308E-190 +} 0x1a83db11ac608107 +test expr-28.425 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7476677885 E-191 x -13db11ac608107_01111111111111111111111111111111111111110& E-602 + convertToDouble -7476677885E-191 +} 0x9a53db11ac608107 +test expr-28.426 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +82259684194 E-202 x 12c3e72d179606_1000000000000000000000000000000000000000001& E-635 + convertToDouble +82259684194E-202 +} 0x1842c3e72d179607 +test expr-28.427 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -93227267727 E-49 x -1960fe08d5847e_100000000000000000000000000000000000000001& E-127 + convertToDouble -93227267727E-49 +} 0xb80960fe08d5847f +test expr-28.428 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +41129842097 E-202 x 12c3e72d179606_1000000000000000000000000000000000000000001& E-636 + convertToDouble +41129842097E-202 +} 0x1832c3e72d179607 +test expr-28.429 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -47584241418 E-314 x -14e25dd3747e96_10000000000000000000000000000000000000001& E-1008 + convertToDouble -47584241418E-314 +} 0x80f4e25dd3747e97 +test expr-28.430 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -79360293406 E92 x -1c58a00bb31863_01111111111111111111111111111111111111110& E341 + convertToDouble -79360293406E92 +} 0xd54c58a00bb31863 +test expr-28.431 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +57332259349 E225 x 120811f528378b_01111111111111111111111111111111111111110& E783 + convertToDouble +57332259349E225 +} 0x70e20811f528378b +test expr-28.432 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -57202326162 E111 x -1626f1c480545b_01111111111111111111111111111111111111110& E404 + convertToDouble -57202326162E111 +} 0xd93626f1c480545b +test expr-28.433 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +86860597053 E-206 x 103b77d2b969d9_0111111111111111111111111111111111111111110& E-648 + convertToDouble +86860597053E-206 +} 0x17703b77d2b969d9 +test expr-28.434 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -53827010643 E-200 x -132fa69a69bd6d_0111111111111111111111111111111111111111110& E-629 + convertToDouble -53827010643E-200 +} 0x98a32fa69a69bd6d +test expr-28.435 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +53587107423 E-61 x 100a19a3ffd981_011111111111111111111111111111111111111111110& E-167 + convertToDouble +53587107423E-61 +} 0x35800a19a3ffd981 +test expr-28.436 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +635007636765 E200 x 1824e73a4f030e_100000000000000000000000000000000000000000001& E703 + convertToDouble +635007636765E200 +} 0x6be824e73a4f030f +test expr-28.437 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +508006109412 E201 x 1824e73a4f030e_100000000000000000000000000000000000000000001& E706 + convertToDouble +508006109412E201 +} 0x6c1824e73a4f030f +test expr-28.438 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -254003054706 E201 x -1824e73a4f030e_100000000000000000000000000000000000000000001& E705 + convertToDouble -254003054706E201 +} 0xec0824e73a4f030f +test expr-28.439 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +561029718715 E-72 x 1cd96a6972a14a_100000000000000000000000000000000000000000001& E-201 + convertToDouble +561029718715E-72 +} 0x336cd96a6972a14b +test expr-28.440 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -897647549944 E-71 x -1cd96a6972a14a_100000000000000000000000000000000000000000001& E-197 + convertToDouble -897647549944E-71 +} 0xb3acd96a6972a14b +test expr-28.441 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +112205943743 E-71 x 1cd96a6972a14a_100000000000000000000000000000000000000000001& E-200 + convertToDouble +112205943743E-71 +} 0x337cd96a6972a14b +test expr-28.442 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -873947086081 E-236 x -19e117541d04e6_1000000000000000000000000000000000000000000001& E-745 + convertToDouble -873947086081E-236 +} 0x9169e117541d04e7 +test expr-28.443 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +809184709177 E116 x 1de27e59fb0679_011111111111111111111111111111111111111111110& E424 + convertToDouble +809184709177E116 +} 0x5a7de27e59fb0679 +test expr-28.444 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -573112917422 E81 x -11958b36c5102b_01111111111111111111111111111111111111111111110& E308 + convertToDouble -573112917422E81 +} 0xd331958b36c5102b +test expr-28.445 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +286556458711 E81 x 11958b36c5102b_01111111111111111111111111111111111111111111110& E307 + convertToDouble +286556458711E81 +} 0x5321958b36c5102b +test expr-28.446 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +952805821491 E-259 x 1551767ef8a9a3_011111111111111111111111111111111111111111110& E-821 + convertToDouble +952805821491E-259 +} 0x0ca551767ef8a9a3 +test expr-28.447 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -132189992873 E-44 x -1b746cf242410b_011111111111111111111111111111111111111111110& E-110 + convertToDouble -132189992873E-44 +} 0xb91b746cf242410b +test expr-28.448 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -173696038493 E-144 x -1f8fefbb3249d3_011111111111111111111111111111111111111111110& E-442 + convertToDouble -173696038493E-144 +} 0xa45f8fefbb3249d3 +test expr-28.449 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +1831132757599 E-107 x 138e6edd48f2a2_1000000000000000000000000000000000000000000000001& E-315 + convertToDouble +1831132757599E-107 +} 0x2c438e6edd48f2a3 +test expr-28.450 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9155663787995 E-108 x -138e6edd48f2a2_1000000000000000000000000000000000000000000000001& E-316 + convertToDouble -9155663787995E-108 +} 0xac338e6edd48f2a3 +test expr-28.451 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7324531030396 E-107 x 138e6edd48f2a2_1000000000000000000000000000000000000000000000001& E-313 + convertToDouble +7324531030396E-107 +} 0x2c638e6edd48f2a3 +test expr-28.452 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9277338894969 E-200 x -19d5a44fd99a6a_1000000000000000000000000000000000000000000000001& E-622 + convertToDouble -9277338894969E-200 +} 0x9919d5a44fd99a6b +test expr-28.453 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8188292423973 E287 x 1390273bf8f983_0111111111111111111111111111111111111111111111110& E996 + convertToDouble +8188292423973E287 +} 0x7e3390273bf8f983 +test expr-28.454 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5672557437938 E59 x -148c2bd60a1523_011111111111111111111111111111111111111111111110& E238 + convertToDouble -5672557437938E59 +} 0xced48c2bd60a1523 +test expr-28.455 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2836278718969 E59 x 148c2bd60a1523_011111111111111111111111111111111111111111111110& E237 + convertToDouble +2836278718969E59 +} 0x4ec48c2bd60a1523 +test expr-28.456 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -9995153153494 E54 x -17ba37c4fbe993_01111111111111111111111111111111111111111111110& E222 + convertToDouble -9995153153494E54 +} 0xcdd7ba37c4fbe993 +test expr-28.457 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9224786422069 E-291 x 14ee5d56b32957_011111111111111111111111111111111111111111111111110& E-924 + convertToDouble +9224786422069E-291 +} 0x0634ee5d56b32957 +test expr-28.458 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3142213164987 E-294 x -1d3409dfbca26f_011111111111111111111111111111111111111111111111110& E-936 + convertToDouble -3142213164987E-294 +} 0x857d3409dfbca26f +test expr-28.459 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +6284426329974 E-294 x 1d3409dfbca26f_011111111111111111111111111111111111111111111111110& E-935 + convertToDouble +6284426329974E-294 +} 0x058d3409dfbca26f +test expr-28.460 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8340483752889 E-301 x -10419183e44b91_01111111111111111111111111111111111111111111111110& E-957 + convertToDouble -8340483752889E-301 +} 0x8420419183e44b91 +test expr-28.461 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +67039371486466 E89 x 17f203339c9628_10000000000000000000000000000000000000000000000000001& E341 + convertToDouble +67039371486466E89 +} 0x5547f203339c9629 +test expr-28.462 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -62150786615239 E197 x -12e79a035b9714_1000000000000000000000000000000000000000000000000001& E700 + convertToDouble -62150786615239E197 +} 0xebb2e79a035b9715 +test expr-28.463 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +33519685743233 E89 x 17f203339c9628_10000000000000000000000000000000000000000000000000001& E340 + convertToDouble +33519685743233E89 +} 0x5537f203339c9629 +test expr-28.464 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -52563419496999 E156 x -1bdb17625bf6e6_1000000000000000000000000000000000000000000000000001& E563 + convertToDouble -52563419496999E156 +} 0xe32bdb17625bf6e7 +test expr-28.465 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +32599460466991 E-65 x 1f395d4c779d8e_1000000000000000000000000000000000000000000000000001& E-172 + convertToDouble +32599460466991E-65 +} 0x353f395d4c779d8f +test expr-28.466 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -41010988798007 E-133 x -152e1c9e04ee06_100000000000000000000000000000000000000000000000001& E-397 + convertToDouble -41010988798007E-133 +} 0xa7252e1c9e04ee07 +test expr-28.467 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +65198920933982 E-65 x 1f395d4c779d8e_1000000000000000000000000000000000000000000000000001& E-171 + convertToDouble +65198920933982E-65 +} 0x354f395d4c779d8f +test expr-28.468 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -82021977596014 E-133 x -152e1c9e04ee06_100000000000000000000000000000000000000000000000001& E-396 + convertToDouble -82021977596014E-133 +} 0xa7352e1c9e04ee07 +test expr-28.469 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +80527976643809 E61 x 1c7c5aea080a49_0111111111111111111111111111111111111111111111111110& E248 + convertToDouble +80527976643809E61 +} 0x4f7c7c5aea080a49 +test expr-28.470 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -74712611505209 E158 x -1eeebe9ea010f3_011111111111111111111111111111111111111111111111110& E570 + convertToDouble -74712611505209E158 +} 0xe39eeebe9ea010f3 +test expr-28.471 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +53390939710959 E261 x 18ac6d426a1cb1_0111111111111111111111111111111111111111111111111110& E912 + convertToDouble +53390939710959E261 +} 0x78f8ac6d426a1cb1 +test expr-28.472 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -69277302659155 E225 x -1547166a3a2b0f_011111111111111111111111111111111111111111111111110& E793 + convertToDouble -69277302659155E225 +} 0xf18547166a3a2b0f +test expr-28.473 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +46202199371337 E-72 x 128f9edfbd341f_0111111111111111111111111111111111111111111111111111111110& E-194 + convertToDouble +46202199371337E-72 +} 0x33d28f9edfbd341f +test expr-28.474 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -23438635467783 E-179 x -1ba485b99e47af_0111111111111111111111111111111111111111111111111110& E-551 + convertToDouble -23438635467783E-179 +} 0x9d8ba485b99e47af +test expr-28.475 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +41921560615349 E-67 x 19b2a5c4041e4b_0111111111111111111111111111111111111111111111111110& E-178 + convertToDouble +41921560615349E-67 +} 0x34d9b2a5c4041e4b +test expr-28.476 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -92404398742674 E-72 x -128f9edfbd341f_0111111111111111111111111111111111111111111111111111111110& E-193 + convertToDouble -92404398742674E-72 +} 0xb3e28f9edfbd341f +test expr-28.477 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +738545606647197 E124 x 13d8886a766a20_100000000000000000000000000000000000000000000000000001& E461 + convertToDouble +738545606647197E124 +} 0x5cc3d8886a766a21 +test expr-28.478 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -972708181182949 E117 x -15ed1f039cebfe_1000000000000000000000000000000000000000000000000000001& E438 + convertToDouble -972708181182949E117 +} 0xdb55ed1f039cebff +test expr-28.479 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -837992143580825 E87 x -17f203339c9628_10000000000000000000000000000000000000000000000000001& E338 + convertToDouble -837992143580825E87 +} 0xd517f203339c9629 +test expr-28.480 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +609610927149051 E-255 x 104273b18918b0_100000000000000000000000000000000000000000000000000000001& E-798 + convertToDouble +609610927149051E-255 +} 0x0e104273b18918b1 +test expr-28.481 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -475603213226859 E-41 x -178cfcab31064c_10000000000000000000000000000000000000000000000000000001& E-88 + convertToDouble -475603213226859E-41 +} 0xba778cfcab31064d +test expr-28.482 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +563002800671023 E-177 x 1035e7b5183922_10000000000000000000000000000000000000000000000000000001& E-539 + convertToDouble +563002800671023E-177 +} 0x1e4035e7b5183923 +test expr-28.483 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -951206426453718 E-41 x -178cfcab31064c_10000000000000000000000000000000000000000000000000000001& E-87 + convertToDouble -951206426453718E-41 +} 0xba878cfcab31064d +test expr-28.484 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +805416432656519 E202 x 175d226331d039_01111111111111111111111111111111111111111111111111111110& E720 + convertToDouble +805416432656519E202 +} 0x6cf75d226331d039 +test expr-28.485 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -530658674694337 E159 x -112a13daa46fe3_0111111111111111111111111111111111111111111111111111110& E577 + convertToDouble -530658674694337E159 +} 0xe4012a13daa46fe3 +test expr-28.486 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +946574173863918 E208 x 1a2fbffdb7580b_011111111111111111111111111111111111111111111111111110& E740 + convertToDouble +946574173863918E208 +} 0x6e3a2fbffdb7580b +test expr-28.487 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -318329953318553 E113 x -178358811cbc95_011111111111111111111111111111111111111111111111111110& E423 + convertToDouble -318329953318553E113 +} 0xda678358811cbc95 +test expr-28.488 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -462021993713370 E-73 x -128f9edfbd341f_0111111111111111111111111111111111111111111111111111111110& E-194 + convertToDouble -462021993713370E-73 +} 0xb3d28f9edfbd341f +test expr-28.489 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +369617594970696 E-72 x 128f9edfbd341f_0111111111111111111111111111111111111111111111111111111110& E-191 + convertToDouble +369617594970696E-72 +} 0x34028f9edfbd341f +test expr-28.490 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3666156212014994 E233 x 1a37935f3b71c8_100000000000000000000000000000000000000000000000000000001& E825 + convertToDouble +3666156212014994E233 +} 0x738a37935f3b71c9 +test expr-28.491 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1833078106007497 E233 x -1a37935f3b71c8_100000000000000000000000000000000000000000000000000000001& E824 + convertToDouble -1833078106007497E233 +} 0xf37a37935f3b71c9 +test expr-28.492 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +8301790508624232 E174 x 1dcfee6690ffc6_100000000000000000000000000000000000000000000000000000001& E630 + convertToDouble +8301790508624232E174 +} 0x675dcfee6690ffc7 +test expr-28.493 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1037723813578029 E174 x -1dcfee6690ffc6_100000000000000000000000000000000000000000000000000000001& E627 + convertToDouble -1037723813578029E174 +} 0xe72dcfee6690ffc7 +test expr-28.494 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7297662880581139 E-286 x 18ac8c79e1ff18_1000000000000000000000000000000000000000000000000000000000001& E-898 + convertToDouble +7297662880581139E-286 +} 0x07d8ac8c79e1ff19 +test expr-28.495 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -5106185698912191 E-276 x -141934d77659be_1000000000000000000000000000000000000000000000000000000000001& E-865 + convertToDouble -5106185698912191E-276 +} 0x89e41934d77659bf +test expr-28.496 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7487252720986826 E-165 x 18823a57adbef8_100000000000000000000000000000000000000000000000000000000000001& E-496 + convertToDouble +7487252720986826E-165 +} 0x20f8823a57adbef9 +test expr-28.497 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3743626360493413 E-165 x -18823a57adbef8_100000000000000000000000000000000000000000000000000000000000001& E-497 + convertToDouble -3743626360493413E-165 +} 0xa0e8823a57adbef9 +test expr-28.498 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3773057430100257 E230 x 1ba10d818fdafd_0111111111111111111111111111111111111111111111111111111110& E815 + convertToDouble +3773057430100257E230 +} 0x72eba10d818fdafd +test expr-28.499 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7546114860200514 E230 x -1ba10d818fdafd_0111111111111111111111111111111111111111111111111111111110& E816 + convertToDouble -7546114860200514E230 +} 0xf2fba10d818fdafd +test expr-28.500 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4321222892463822 E58 x 18750ea732fdad_011111111111111111111111111111111111111111111111111111110& E244 + convertToDouble +4321222892463822E58 +} 0x4f38750ea732fdad +test expr-28.501 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7793560217139653 E51 x -1280461b856ec5_0111111111111111111111111111111111111111111111111111111110& E222 + convertToDouble -7793560217139653E51 +} 0xcdd280461b856ec5 +test expr-28.502 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +26525993941010681 E112 x 187dcbf6ad5cf8_10000000000000000000000000000000000000000000000000000000000001& E426 + convertToDouble +26525993941010681E112 +} 0x5a987dcbf6ad5cf9 +test expr-28.503 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -53051987882021362 E112 x -187dcbf6ad5cf8_10000000000000000000000000000000000000000000000000000000000001& E427 + convertToDouble -53051987882021362E112 +} 0xdaa87dcbf6ad5cf9 +test expr-28.504 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +72844871414247907 E77 x 1bf00baf60b70c_100000000000000000000000000000000000000000000000000000000001& E311 + convertToDouble +72844871414247907E77 +} 0x536bf00baf60b70d +test expr-28.505 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -88839359596763261 E105 x -1133b1a33a1108_100000000000000000000000000000000000000000000000000000000001& E405 + convertToDouble -88839359596763261E105 +} 0xd94133b1a33a1109 +test expr-28.506 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +18718131802467065 E-166 x 18823a57adbef8_100000000000000000000000000000000000000000000000000000000000001& E-498 + convertToDouble +18718131802467065E-166 +} 0x20d8823a57adbef9 +test expr-28.507 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -14974505441973652 E-165 x -18823a57adbef8_100000000000000000000000000000000000000000000000000000000000001& E-495 + convertToDouble -14974505441973652E-165 +} 0xa108823a57adbef9 +test expr-28.508 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +73429396004640239 E106 x 11c5cb19ef3451_01111111111111111111111111111111111111111111111111111111111110& E408 + convertToDouble +73429396004640239E106 +} 0x5971c5cb19ef3451 +test expr-28.509 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -58483921078398283 E57 x -108ce499519ce3_0111111111111111111111111111111111111111111111111111111111111110& E245 + convertToDouble -58483921078398283E57 +} 0xcf408ce499519ce3 +test expr-28.510 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +41391519190645203 E165 x 13f33667156017_011111111111111111111111111111111111111111111111111111111111110& E603 + convertToDouble +41391519190645203E165 +} 0x65a3f33667156017 +test expr-28.511 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -82783038381290406 E165 x -13f33667156017_011111111111111111111111111111111111111111111111111111111111110& E604 + convertToDouble -82783038381290406E165 +} 0xe5b3f33667156017 +test expr-28.512 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +58767043776702677 E-163 x 12c92fee3a3867_0111111111111111111111111111111111111111111111111111111111110& E-486 + convertToDouble +58767043776702677E-163 +} 0x2192c92fee3a3867 +test expr-28.513 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -90506231831231999 E-129 x -1bdc4114397ff3_01111111111111111111111111111111111111111111111111111111111110& E-373 + convertToDouble -90506231831231999E-129 +} 0xa8abdc4114397ff3 +test expr-28.514 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +64409240769861689 E-159 x 192238f7987779_011111111111111111111111111111111111111111111111111111111111110& E-473 + convertToDouble +64409240769861689E-159 +} 0x22692238f7987779 +test expr-28.515 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -77305427432277771 E-190 x -1e978b7780b613_0111111111111111111111111111111111111111111111111111111111110& E-576 + convertToDouble -77305427432277771E-190 +} 0x9bfe978b7780b613 +test expr-28.516 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +476592356619258326 E273 x 1873cf8ee72812_10000000000000000000000000000000000000000000000000000000000000001& E965 + convertToDouble +476592356619258326E273 +} 0x7c4873cf8ee72813 +test expr-28.517 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -953184713238516652 E273 x -1873cf8ee72812_10000000000000000000000000000000000000000000000000000000000000001& E966 + convertToDouble -953184713238516652E273 +} 0xfc5873cf8ee72813 +test expr-28.518 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +899810892172646163 E283 x 1adf51fa055e02_100000000000000000000000000000000000000000000000000000000000000000001& E999 + convertToDouble +899810892172646163E283 +} 0x7e6adf51fa055e03 +test expr-28.519 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -929167076892018333 E187 x -1da2c42fce2bc4_10000000000000000000000000000000000000000000000000000000000000000001& E680 + convertToDouble -929167076892018333E187 +} 0xea7da2c42fce2bc5 +test expr-28.520 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +647761278967534239 E-312 x 1a7a2476ec0b3e_10000000000000000000000000000000000000000000000000000000000000001& E-978 + convertToDouble +647761278967534239E-312 +} 0x02da7a2476ec0b3f +test expr-28.521 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -644290479820542942 E-180 x -128d1407dfa832_10000000000000000000000000000000000000000000000000000000000000001& E-539 + convertToDouble -644290479820542942E-180 +} 0x9e428d1407dfa833 +test expr-28.522 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +926145344610700019 E-225 x 1307a67f1f69fe_10000000000000000000000000000000000000000000000000000000000000000001& E-688 + convertToDouble +926145344610700019E-225 +} 0x14f307a67f1f69ff +test expr-28.523 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -958507931896511964 E-246 x -17406753df2f0c_10000000000000000000000000000000000000000000000000000000000000001& E-758 + convertToDouble -958507931896511964E-246 +} 0x9097406753df2f0d +test expr-28.524 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +272104041512242479 E200 x 13bbb4bf05f087_011111111111111111111111111111111111111111111111111111111111111111111110& E722 + convertToDouble +272104041512242479E200 +} 0x6d13bbb4bf05f087 +test expr-28.525 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -792644927852378159 E79 x -1daff0048f3ec7_011111111111111111111111111111111111111111111111111111111111111111110& E321 + convertToDouble -792644927852378159E79 +} 0xd40daff0048f3ec7 +test expr-28.526 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +544208083024484958 E200 x 13bbb4bf05f087_011111111111111111111111111111111111111111111111111111111111111111111110& E723 + convertToDouble +544208083024484958E200 +} 0x6d23bbb4bf05f087 +test expr-28.527 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -929963218616126365 E290 x -108dcc0c505461_01111111111111111111111111111111111111111111111111111111111111110& E1023 + convertToDouble -929963218616126365E290 +} 0xffe08dcc0c505461 +test expr-28.528 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +305574339166810102 E-219 x 17f399fe02c4b9_011111111111111111111111111111111111111111111111111111111111111110& E-670 + convertToDouble +305574339166810102E-219 +} 0x1617f399fe02c4b9 +test expr-28.529 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -152787169583405051 E-219 x -17f399fe02c4b9_011111111111111111111111111111111111111111111111111111111111111110& E-671 + convertToDouble -152787169583405051E-219 +} 0x9607f399fe02c4b9 +test expr-28.530 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +611148678333620204 E-219 x 17f399fe02c4b9_011111111111111111111111111111111111111111111111111111111111111110& E-669 + convertToDouble +611148678333620204E-219 +} 0x1627f399fe02c4b9 +test expr-28.531 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -763935847917025255 E-220 x -17f399fe02c4b9_011111111111111111111111111111111111111111111111111111111111111110& E-672 + convertToDouble -763935847917025255E-220 +} 0x95f7f399fe02c4b9 +test expr-28.532 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +7439550220920798612 E158 x 177fe14f40159a_10000000000000000000000000000000000000000000000000000000000000000000001& E587 + convertToDouble +7439550220920798612E158 +} 0x64a77fe14f40159b +test expr-28.533 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -3719775110460399306 E158 x -177fe14f40159a_10000000000000000000000000000000000000000000000000000000000000000000001& E586 + convertToDouble -3719775110460399306E158 +} 0xe4977fe14f40159b +test expr-28.534 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +9299437776150998265 E157 x 177fe14f40159a_10000000000000000000000000000000000000000000000000000000000000000000001& E584 + convertToDouble +9299437776150998265E157 +} 0x64777fe14f40159b +test expr-28.535 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7120190517612959703 E120 x -13220dcd5899fc_1000000000000000000000000000000000000000000000000000000000000000000000001& E461 + convertToDouble -7120190517612959703E120 +} 0xdcc3220dcd5899fd +test expr-28.536 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +3507665085003296281 E-73 x 11339818257f0e_100000000000000000000000000000000000000000000000000000000000000000000001& E-181 + convertToDouble +3507665085003296281E-73 +} 0x34a1339818257f0f +test expr-28.537 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -7015330170006592562 E-73 x -11339818257f0e_100000000000000000000000000000000000000000000000000000000000000000000001& E-180 + convertToDouble -7015330170006592562E-73 +} 0xb4b1339818257f0f +test expr-28.538 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -6684428762278255956 E-294 x -1d9f82a1a6b1b8_10000000000000000000000000000000000000000000000000000000000000000001& E-915 + convertToDouble -6684428762278255956E-294 +} 0x86cd9f82a1a6b1b9 +test expr-28.539 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -1088416166048969916 E200 x -13bbb4bf05f087_011111111111111111111111111111111111111111111111111111111111111111111110& E724 + convertToDouble -1088416166048969916E200 +} 0xed33bbb4bf05f087 +test expr-28.540 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8707329328391759328 E200 x -13bbb4bf05f087_011111111111111111111111111111111111111111111111111111111111111111111110& E727 + convertToDouble -8707329328391759328E200 +} 0xed63bbb4bf05f087 +test expr-28.541 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +4439021781608558002 E-65 x 1038168b71e2c9_01111111111111111111111111111111111111111111111111111111111111111110& E-154 + convertToDouble +4439021781608558002E-65 +} 0x365038168b71e2c9 +test expr-28.542 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -8878043563217116004 E-65 x -1038168b71e2c9_01111111111111111111111111111111111111111111111111111111111111111110& E-153 + convertToDouble -8878043563217116004E-65 +} 0xb66038168b71e2c9 +test expr-28.543 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +2219510890804279001 E-65 x 1038168b71e2c9_01111111111111111111111111111111111111111111111111111111111111111110& E-155 + convertToDouble +2219510890804279001E-65 +} 0x364038168b71e2c9 +test expr-28.544 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +33051223951904955802 E55 x 1762068a24fd54_1000000000000000000000000000000000000000000000000000000000000000000000001& E247 + convertToDouble +33051223951904955802E55 +} 0x4f6762068a24fd55 +test expr-28.545 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -56961524140903677624 E120 x -13220dcd5899fc_1000000000000000000000000000000000000000000000000000000000000000000000001& E464 + convertToDouble -56961524140903677624E120 +} 0xdcf3220dcd5899fd +test expr-28.546 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +71201905176129597030 E119 x 13220dcd5899fc_1000000000000000000000000000000000000000000000000000000000000000000000001& E461 + convertToDouble +71201905176129597030E119 +} 0x5cc3220dcd5899fd +test expr-28.547 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +14030660340013185124 E-73 x 11339818257f0e_100000000000000000000000000000000000000000000000000000000000000000000001& E-179 + convertToDouble +14030660340013185124E-73 +} 0x34c1339818257f0f +test expr-28.548 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -17538325425016481405 E-74 x -11339818257f0e_100000000000000000000000000000000000000000000000000000000000000000000001& E-182 + convertToDouble -17538325425016481405E-74 +} 0xb491339818257f0f +test expr-28.549 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +67536228609141569109 E-133 x 10a1b35cf2a635_01111111111111111111111111111111111111111111111111111111111111111111110& E-376 + convertToDouble +67536228609141569109E-133 +} 0x2870a1b35cf2a635 +test expr-28.550 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -35620497849450218807 E-306 x -15b22082529425_0111111111111111111111111111111111111111111111111111111111111111111111110& E-952 + convertToDouble -35620497849450218807E-306 +} 0x8475b22082529425 +test expr-28.551 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN +66550376797582521751 E-126 x 13897c0ede6c69_01111111111111111111111111111111111111111111111111111111111111111111110& E-353 + convertToDouble +66550376797582521751E-126 +} 0x29e3897c0ede6c69 +test expr-28.552 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b d UN -71240995698900437614 E-306 x -15b22082529425_0111111111111111111111111111111111111111111111111111111111111111111111110& E-951 + convertToDouble -71240995698900437614E-306 +} 0x8485b22082529425 +test expr-28.553 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3 E24 x 13da329b633647_0001& E81 + convertToDouble +3E24 +} 0x4503da329b633647 +test expr-28.554 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6 E24 x -13da329b633647_0001& E82 + convertToDouble -6E24 +} 0xc513da329b633647 +test expr-28.555 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6 E26 x 1f04ef12cb04cf_0001& E88 + convertToDouble +6E26 +} 0x457f04ef12cb04cf +test expr-28.556 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7 E25 x -1cf389cd46047d_0000001& E85 + convertToDouble -7E25 +} 0xc54cf389cd46047d +test expr-28.557 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1 E-14 x 16849b86a12b9b_00000001& E-47 + convertToDouble +1E-14 +} 0x3d06849b86a12b9b +test expr-28.558 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2 E-14 x -16849b86a12b9b_00000001& E-46 + convertToDouble -2E-14 +} 0xbd16849b86a12b9b +test expr-28.559 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4 E-14 x 16849b86a12b9b_00000001& E-45 + convertToDouble +4E-14 +} 0x3d26849b86a12b9b +test expr-28.560 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8 E-14 x -16849b86a12b9b_00000001& E-44 + convertToDouble -8E-14 +} 0xbd36849b86a12b9b +test expr-28.561 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5 E26 x 19d971e4fe8401_1110& E88 + convertToDouble +5E26 +} 0x4579d971e4fe8402 +test expr-28.562 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8 E27 x -19d971e4fe8401_1110& E92 + convertToDouble -8E27 +} 0xc5b9d971e4fe8402 +test expr-28.563 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1 E27 x 19d971e4fe8401_1110& E89 + convertToDouble +1E27 +} 0x4589d971e4fe8402 +test expr-28.564 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4 E27 x -19d971e4fe8401_1110& E91 + convertToDouble -4E27 +} 0xc5a9d971e4fe8402 +test expr-28.565 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9 E-13 x 1faa7ab552a551_111110& E-41 + convertToDouble +9E-13 +} 0x3d6faa7ab552a552 +test expr-28.566 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7 E-20 x -14a90ceafff9de_11110& E-64 + convertToDouble -7E-20 +} 0xbbf4a90ceafff9df +test expr-28.567 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +56 E25 x 1cf389cd46047d_0000001& E88 + convertToDouble +56E25 +} 0x457cf389cd46047d +test expr-28.568 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -70 E24 x -1cf389cd46047d_0000001& E85 + convertToDouble -70E24 +} 0xc54cf389cd46047d +test expr-28.569 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +51 E26 x 107a9f01fbda8e_0000001& E92 + convertToDouble +51E26 +} 0x45b07a9f01fbda8e +test expr-28.570 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +71 E-17 x 19949819f693d7_00000000001& E-51 + convertToDouble +71E-17 +} 0x3cc9949819f693d7 +test expr-28.571 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -31 E-5 x -1450efdc9c4da9_00000000001& E-12 + convertToDouble -31E-5 +} 0xbf3450efdc9c4da9 +test expr-28.572 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +62 E-5 x 1450efdc9c4da9_00000000001& E-11 + convertToDouble +62E-5 +} 0x3f4450efdc9c4da9 +test expr-28.573 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -94 E-8 x -1f8a89dc374df5_0000000001& E-21 + convertToDouble -94E-8 +} 0xbeaf8a89dc374df5 +test expr-28.574 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +67 E27 x 1b0fa33bba7231_11111110& E95 + convertToDouble +67E27 +} 0x45eb0fa33bba7232 +test expr-28.575 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -81 E24 x -10c01ab31bb5cb_1111110& E86 + convertToDouble -81E24 +} 0xc550c01ab31bb5cc +test expr-28.576 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +54 E23 x 11ddfa58a6173f_111110& E82 + convertToDouble +54E23 +} 0x4511ddfa58a61740 +test expr-28.577 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -54 E25 x -1bead72a838453_111110& E88 + convertToDouble -54E25 +} 0xc57bead72a838454 +test expr-28.578 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +63 E-22 x 1dc03b8fd70169_11111111110& E-68 + convertToDouble +63E-22 +} 0x3bbdc03b8fd7016a +test expr-28.579 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -63 E-23 x -17ccfc73126787_11111111110& E-71 + convertToDouble -63E-23 +} 0xbb87ccfc73126788 +test expr-28.580 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +43 E-4 x 119ce075f6fd21_111111110& E-8 + convertToDouble +43E-4 +} 0x3f719ce075f6fd22 +test expr-28.581 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -86 E-4 x -119ce075f6fd21_111111110& E-7 + convertToDouble -86E-4 +} 0xbf819ce075f6fd22 +test expr-28.582 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +942 E26 x 1306069e8681f3_00000000001& E96 + convertToDouble +942E26 +} 0x45f306069e8681f3 +test expr-28.583 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -471 E25 x -1e700a973d9cb8_0000000001& E91 + convertToDouble -471E25 +} 0xc5ae700a973d9cb8 +test expr-28.584 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +803 E24 x 14c1cee9cd666b_000000000001& E89 + convertToDouble +803E24 +} 0x4584c1cee9cd666b +test expr-28.585 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -471 E26 x -1306069e8681f3_00000000001& E95 + convertToDouble -471E26 +} 0xc5e306069e8681f3 +test expr-28.586 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -409 E-21 x -1e2dcaa4115622_000000000001& E-62 + convertToDouble -409E-21 +} 0xbc1e2dcaa4115622 +test expr-28.587 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +818 E-21 x 1e2dcaa4115622_000000000001& E-61 + convertToDouble +818E-21 +} 0x3c2e2dcaa4115622 +test expr-28.588 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -867 E-8 x -122eabba029aba_000000000001& E-17 + convertToDouble -867E-8 +} 0xbee22eabba029aba +test expr-28.589 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +538 E27 x 1b297cad9f70b5_1111111111111110& E98 + convertToDouble +538E27 +} 0x461b297cad9f70b6 +test expr-28.590 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -857 E24 x -16272678ba603b_11111111110& E89 + convertToDouble -857E24 +} 0xc586272678ba603c +test expr-28.591 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +269 E27 x 1b297cad9f70b5_1111111111111110& E97 + convertToDouble +269E27 +} 0x460b297cad9f70b6 +test expr-28.592 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -403 E26 x -1046ec1e31dd85_1111111110& E95 + convertToDouble -403E26 +} 0xc5e046ec1e31dd86 +test expr-28.593 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +959 E-7 x 1923bd746a3527_11111111111110& E-14 + convertToDouble +959E-7 +} 0x3f1923bd746a3528 +test expr-28.594 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -959 E-6 x -1f6cacd184c271_1111111111110& E-11 + convertToDouble -959E-6 +} 0xbf4f6cacd184c272 +test expr-28.595 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +373 E-27 x 1cdc06b20ef182_1111111111110& E-82 + convertToDouble +373E-27 +} 0x3adcdc06b20ef183 +test expr-28.596 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -746 E-27 x -1cdc06b20ef182_1111111111110& E-81 + convertToDouble -746E-27 +} 0xbaecdc06b20ef183 +test expr-28.597 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4069 E24 x 1a4b9887fbfe7a_0000000000001& E91 + convertToDouble +4069E24 +} 0x45aa4b9887fbfe7a +test expr-28.598 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4069 E23 x -150946d32ffec8_0000000000001& E88 + convertToDouble -4069E23 +} 0xc5750946d32ffec8 +test expr-28.599 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8138 E24 x -1a4b9887fbfe7a_0000000000001& E92 + convertToDouble -8138E24 +} 0xc5ba4b9887fbfe7a +test expr-28.600 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8294 E-15 x 123d1b5eb1d778_000000000000000001& E-37 + convertToDouble +8294E-15 +} 0x3da23d1b5eb1d778 +test expr-28.601 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4147 E-14 x -16cc62365e4d56_00000000000000001& E-35 + convertToDouble -4147E-14 +} 0xbdc6cc62365e4d56 +test expr-28.602 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4147 E-15 x 123d1b5eb1d778_000000000000000001& E-38 + convertToDouble +4147E-15 +} 0x3d923d1b5eb1d778 +test expr-28.603 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8294 E-14 x -16cc62365e4d56_00000000000000001& E-34 + convertToDouble -8294E-14 +} 0xbdd6cc62365e4d56 +test expr-28.604 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +538 E27 x 1b297cad9f70b5_1111111111111110& E98 + convertToDouble +538E27 +} 0x461b297cad9f70b6 +test expr-28.605 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2690 E26 x -1b297cad9f70b5_1111111111111110& E97 + convertToDouble -2690E26 +} 0xc60b297cad9f70b6 +test expr-28.606 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +269 E27 x 1b297cad9f70b5_1111111111111110& E97 + convertToDouble +269E27 +} 0x460b297cad9f70b6 +test expr-28.607 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2152 E27 x -1b297cad9f70b5_1111111111111110& E100 + convertToDouble -2152E27 +} 0xc63b297cad9f70b6 +test expr-28.608 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1721 E-17 x 136071dcae4564_111111111111110& E-46 + convertToDouble +1721E-17 +} 0x3d136071dcae4565 +test expr-28.609 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7979 E-27 x -134ac304747faf_111111111111110& E-77 + convertToDouble -7979E-27 +} 0xbb234ac304747fb0 +test expr-28.610 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6884 E-17 x 136071dcae4564_111111111111110& E-44 + convertToDouble +6884E-17 +} 0x3d336071dcae4565 +test expr-28.611 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8605 E-18 x -136071dcae4564_111111111111110& E-47 + convertToDouble -8605E-18 +} 0xbd036071dcae4565 +test expr-28.612 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +82854 E27 x 10570ed9e3cecc_00000000000000001& E106 + convertToDouble +82854E27 +} 0x4690570ed9e3cecc +test expr-28.613 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -55684 E24 x -167d9735144ae3_00000000000000001& E95 + convertToDouble -55684E24 +} 0xc5e67d9735144ae3 +test expr-28.614 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +27842 E24 x 167d9735144ae3_00000000000000001& E94 + convertToDouble +27842E24 +} 0x45d67d9735144ae3 +test expr-28.615 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -48959 E25 x -18b7cd6ca56f85_00000000000000001& E98 + convertToDouble -48959E25 +} 0xc618b7cd6ca56f85 +test expr-28.616 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +81921 E-17 x 1cd2c9a6cdd003_000000000000000000001& E-41 + convertToDouble +81921E-17 +} 0x3d6cd2c9a6cdd003 +test expr-28.617 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -76207 E-8 x -18f8b4dd16f1df_0000000000000000001& E-11 + convertToDouble -76207E-8 +} 0xbf48f8b4dd16f1df +test expr-28.618 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4147 E-15 x 123d1b5eb1d778_000000000000000001& E-38 + convertToDouble +4147E-15 +} 0x3d923d1b5eb1d778 +test expr-28.619 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -41470 E-16 x -123d1b5eb1d778_000000000000000001& E-38 + convertToDouble -41470E-16 +} 0xbd923d1b5eb1d778 +test expr-28.620 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +89309 E24 x 12092ac5f2019e_1111111111111111110& E96 + convertToDouble +89309E24 +} 0x45f2092ac5f2019f +test expr-28.621 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +75859 E26 x 17efd75a2938eb_1111111111111111111110& E102 + convertToDouble +75859E26 +} 0x4657efd75a2938ec +test expr-28.622 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -75859 E25 x -132645e1ba93ef_1111111111111111111110& E99 + convertToDouble -75859E25 +} 0xc6232645e1ba93f0 +test expr-28.623 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +14257 E-23 x 150a246ecd44f2_1111111111111111110& E-63 + convertToDouble +14257E-23 +} 0x3c050a246ecd44f3 +test expr-28.624 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -28514 E-23 x -150a246ecd44f2_1111111111111111110& E-62 + convertToDouble -28514E-23 +} 0xbc150a246ecd44f3 +test expr-28.625 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +57028 E-23 x 150a246ecd44f2_1111111111111111110& E-61 + convertToDouble +57028E-23 +} 0x3c250a246ecd44f3 +test expr-28.626 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -71285 E-24 x -150a246ecd44f2_1111111111111111110& E-64 + convertToDouble -71285E-24 +} 0xbbf50a246ecd44f3 +test expr-28.627 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +344863 E27 x 1100c873963d6d_00000000000000000001& E108 + convertToDouble +344863E27 +} 0x46b100c873963d6d +test expr-28.628 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -951735 E27 x -17764ad224e24a_000000000000000000001& E109 + convertToDouble -951735E27 +} 0xc6c7764ad224e24a +test expr-28.629 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +200677 E23 x 1035e73135b834_0000000000000000001& E94 + convertToDouble +200677E23 +} 0x45d035e73135b834 +test expr-28.630 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -401354 E24 x -144360fd832641_0000000000000000001& E98 + convertToDouble -401354E24 +} 0xc6144360fd832641 +test expr-28.631 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +839604 E-11 x 119b96f36ec68b_00000000000000000000000001& E-17 + convertToDouble +839604E-11 +} 0x3ee19b96f36ec68b +test expr-28.632 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -209901 E-11 x -119b96f36ec68b_00000000000000000000000001& E-19 + convertToDouble -209901E-11 +} 0xbec19b96f36ec68b +test expr-28.633 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +419802 E-11 x 119b96f36ec68b_00000000000000000000000001& E-18 + convertToDouble +419802E-11 +} 0x3ed19b96f36ec68b +test expr-28.634 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -537734 E-24 x -13d6c1088ae40e_0000000000000000000001& E-61 + convertToDouble -537734E-24 +} 0xbc23d6c1088ae40e +test expr-28.635 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +910308 E26 x 11f3e1839eeab0_11111111111111111111110& E106 + convertToDouble +910308E26 +} 0x4691f3e1839eeab1 +test expr-28.636 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -227577 E26 x -11f3e1839eeab0_11111111111111111111110& E104 + convertToDouble -227577E26 +} 0xc671f3e1839eeab1 +test expr-28.637 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +455154 E26 x 11f3e1839eeab0_11111111111111111111110& E105 + convertToDouble +455154E26 +} 0x4681f3e1839eeab1 +test expr-28.638 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -531013 E25 x -10c17d25834171_11111111111111111111110& E102 + convertToDouble -531013E25 +} 0xc650c17d25834172 +test expr-28.639 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +963019 E-21 x 11592429784914_11111111111111111111110& E-50 + convertToDouble +963019E-21 +} 0x3cd1592429784915 +test expr-28.640 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -519827 E-13 x -1be872a8b30d7c_11111111111111111111110& E-25 + convertToDouble -519827E-13 +} 0xbe6be872a8b30d7d +test expr-28.641 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +623402 E-27 x 178d2c97bde2a0_11111111111111111111110& E-71 + convertToDouble +623402E-27 +} 0x3b878d2c97bde2a1 +test expr-28.642 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -311701 E-27 x -178d2c97bde2a0_11111111111111111111110& E-72 + convertToDouble -311701E-27 +} 0xbb778d2c97bde2a1 +test expr-28.643 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9613651 E26 x 17b31116270d9b_000000000000000000000001& E109 + convertToDouble +9613651E26 +} 0x46c7b31116270d9b +test expr-28.644 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9191316 E23 x -1733bfae0801fd_0000000000000000000001& E99 + convertToDouble -9191316E23 +} 0xc62733bfae0801fd +test expr-28.645 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4595658 E23 x 1733bfae0801fd_0000000000000000000001& E98 + convertToDouble +4595658E23 +} 0x461733bfae0801fd +test expr-28.646 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2297829 E23 x -1733bfae0801fd_0000000000000000000001& E97 + convertToDouble -2297829E23 +} 0xc60733bfae0801fd +test expr-28.647 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1679208 E-11 x -119b96f36ec68b_00000000000000000000000001& E-16 + convertToDouble -1679208E-11 +} 0xbef19b96f36ec68b +test expr-28.648 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3379223 E27 x 14d3794ce2fc25_1111111111111111111111110& E111 + convertToDouble +3379223E27 +} 0x46e4d3794ce2fc26 +test expr-28.649 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6758446 E27 x -14d3794ce2fc25_1111111111111111111111110& E112 + convertToDouble -6758446E27 +} 0xc6f4d3794ce2fc26 +test expr-28.650 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5444097 E-21 x 18849dd33c95ae_11111111111111111111111111110& E-48 + convertToDouble +5444097E-21 +} 0x3cf8849dd33c95af +test expr-28.651 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8399969 E-27 x -13d5783e85fcf7_1111111111111111111111110& E-67 + convertToDouble -8399969E-27 +} 0xbbc3d5783e85fcf8 +test expr-28.652 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8366487 E-16 x 1cbf3d630403af_1111111111111111111111110& E-31 + convertToDouble +8366487E-16 +} 0x3e0cbf3d630403b0 +test expr-28.653 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8366487 E-15 x -11f7865de2824d_11111111111111111111111110& E-27 + convertToDouble -8366487E-15 +} 0xbe41f7865de2824e +test expr-28.654 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +65060671 E25 x 1009e7d474572a_0000000000000000000000000001& E109 + convertToDouble +65060671E25 +} 0x46c009e7d474572a +test expr-28.655 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +65212389 E23 x 1493d098d37657_000000000000000000000000001& E102 + convertToDouble +65212389E23 +} 0x465493d098d37657 +test expr-28.656 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +55544957 E-13 x 174c1826f3010c_00000000000000000000000000001& E-18 + convertToDouble +55544957E-13 +} 0x3ed74c1826f3010c +test expr-28.657 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -51040905 E-20 x -11f55b23c8bf2d_0000000000000000000000000001& E-41 + convertToDouble -51040905E-20 +} 0xbd61f55b23c8bf2d +test expr-28.658 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +99585767 E-22 x 166cba8699f0f2_0000000000000000000000000001& E-47 + convertToDouble +99585767E-22 +} 0x3d066cba8699f0f2 +test expr-28.659 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -99585767 E-23 x -11f095387b2728_0000000000000000000000000001& E-50 + convertToDouble -99585767E-23 +} 0xbcd1f095387b2728 +test expr-28.660 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +40978393 E26 x 1941401cca2bfd_1111111111111111111111111110& E111 + convertToDouble +40978393E26 +} 0x46e941401cca2bfe +test expr-28.661 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -67488159 E24 x -1a9e90059d12db_11111111111111111111111111110& E105 + convertToDouble -67488159E24 +} 0xc68a9e90059d12dc +test expr-28.662 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +69005339 E23 x 15c634f6ef1f95_111111111111111111111111110& E102 + convertToDouble +69005339E23 +} 0x4655c634f6ef1f96 +test expr-28.663 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -81956786 E26 x -1941401cca2bfd_1111111111111111111111111110& E112 + convertToDouble -81956786E26 +} 0xc6f941401cca2bfe +test expr-28.664 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -87105552 E-21 x -18849dd33c95ae_11111111111111111111111111110& E-44 + convertToDouble -87105552E-21 +} 0xbd38849dd33c95af +test expr-28.665 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +10888194 E-21 x 18849dd33c95ae_11111111111111111111111111110& E-47 + convertToDouble +10888194E-21 +} 0x3d08849dd33c95af +test expr-28.666 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -21776388 E-21 x -18849dd33c95ae_11111111111111111111111111110& E-46 + convertToDouble -21776388E-21 +} 0xbd18849dd33c95af +test expr-28.667 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +635806667 E27 x 1e9cec176c96f8_000000000000000000000000000000001& E118 + convertToDouble +635806667E27 +} 0x475e9cec176c96f8 +test expr-28.668 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -670026614 E25 x -14a593f89f4194_00000000000000000000000000000001& E112 + convertToDouble -670026614E25 +} 0xc6f4a593f89f4194 +test expr-28.669 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +335013307 E26 x 19cef8f6c711f9_0000000000000000000000000000001& E114 + convertToDouble +335013307E26 +} 0x4719cef8f6c711f9 +test expr-28.670 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -335013307 E25 x -14a593f89f4194_00000000000000000000000000000001& E111 + convertToDouble -335013307E25 +} 0xc6e4a593f89f4194 +test expr-28.671 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +371790617 E-24 x 1aca538c61ba9c_000000000000000000000000000000001& E-52 + convertToDouble +371790617E-24 +} 0x3cbaca538c61ba9c +test expr-28.672 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -371790617 E-25 x -156ea93d1afbb0_0000000000000000000000000000000001& E-55 + convertToDouble -371790617E-25 +} 0xbc856ea93d1afbb0 +test expr-28.673 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +743581234 E-24 x 1aca538c61ba9c_000000000000000000000000000000001& E-51 + convertToDouble +743581234E-24 +} 0x3ccaca538c61ba9c +test expr-28.674 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -743581234 E-25 x -156ea93d1afbb0_0000000000000000000000000000000001& E-54 + convertToDouble -743581234E-25 +} 0xbc956ea93d1afbb0 +test expr-28.675 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +202464477 E24 x 13f6ec0435ce24_111111111111111111111111111110& E107 + convertToDouble +202464477E24 +} 0x46a3f6ec0435ce25 +test expr-28.676 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -404928954 E24 x -13f6ec0435ce24_111111111111111111111111111110& E108 + convertToDouble -404928954E24 +} 0xc6b3f6ec0435ce25 +test expr-28.677 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +997853758 E27 x 1805bfa33b98fa_111111111111111111111111111110& E119 + convertToDouble +997853758E27 +} 0x476805bfa33b98fb +test expr-28.678 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -997853758 E26 x -1337cc829613fb_111111111111111111111111111110& E116 + convertToDouble -997853758E26 +} 0xc73337cc829613fc +test expr-28.679 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +405498418 E-17 x 116a8093df66a6_111111111111111111111111111111110& E-28 + convertToDouble +405498418E-17 +} 0x3e316a8093df66a7 +test expr-28.680 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -582579084 E-14 x -186f653140a658_111111111111111111111111111111110& E-18 + convertToDouble -582579084E-14 +} 0xbed86f653140a659 +test expr-28.681 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +608247627 E-18 x 14e633e4a5ae61_111111111111111111111111111111110& E-31 + convertToDouble +608247627E-18 +} 0x3e04e633e4a5ae62 +test expr-28.682 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -291289542 E-14 x -186f653140a658_111111111111111111111111111111110& E-19 + convertToDouble -291289542E-14 +} 0xbec86f653140a659 +test expr-28.683 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9537100005 E26 x -16f5b11191713a_000000000000000000000000000000001& E119 + convertToDouble -9537100005E26 +} 0xc766f5b11191713a +test expr-28.684 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6358066670 E27 x 1322138ea3de5b_000000000000000000000000000000001& E122 + convertToDouble +6358066670E27 +} 0x479322138ea3de5b +test expr-28.685 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1271613334 E27 x -1e9cec176c96f8_000000000000000000000000000000001& E119 + convertToDouble -1271613334E27 +} 0xc76e9cec176c96f8 +test expr-28.686 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5229646999 E-16 x 118c3b89731f3d_000000000000000000000000000000000001& E-21 + convertToDouble +5229646999E-16 +} 0x3ea18c3b89731f3d +test expr-28.687 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5229646999 E-17 x 1c13927584fec8_00000000000000000000000000000000001& E-25 + convertToDouble +5229646999E-17 +} 0x3e6c13927584fec8 +test expr-28.688 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4429943614 E24 x 1b4d37fa06864a_1111111111111111111111111111111110& E111 + convertToDouble +4429943614E24 +} 0x46eb4d37fa06864b +test expr-28.689 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8859887228 E24 x -1b4d37fa06864a_1111111111111111111111111111111110& E112 + convertToDouble -8859887228E24 +} 0xc6fb4d37fa06864b +test expr-28.690 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +2214971807 E24 x 1b4d37fa06864a_1111111111111111111111111111111110& E110 + convertToDouble +2214971807E24 +} 0x46db4d37fa06864b +test expr-28.691 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4176887093 E26 x -141c692c5bd07a_111111111111111111111111111111110& E118 + convertToDouble -4176887093E26 +} 0xc7541c692c5bd07b +test expr-28.692 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4003495257 E-20 x 16026b2e07ec06_111111111111111111111111111111111110& E-35 + convertToDouble +4003495257E-20 +} 0x3dc6026b2e07ec07 +test expr-28.693 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4361901637 E-23 x -188e29a9d7c5b8_11111111111111111111111111111111110& E-45 + convertToDouble -4361901637E-23 +} 0xbd288e29a9d7c5b9 +test expr-28.694 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8723803274 E-23 x 188e29a9d7c5b8_11111111111111111111111111111111110& E-44 + convertToDouble +8723803274E-23 +} 0x3d388e29a9d7c5b9 +test expr-28.695 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8006990514 E-20 x -16026b2e07ec06_111111111111111111111111111111111110& E-34 + convertToDouble -8006990514E-20 +} 0xbdd6026b2e07ec07 +test expr-28.696 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +72835110098 E27 x 1b65c41711fb6d_0000000000000000000000000000000000001& E125 + convertToDouble +72835110098E27 +} 0x47cb65c41711fb6d +test expr-28.697 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -36417555049 E27 x -1b65c41711fb6d_0000000000000000000000000000000000001& E124 + convertToDouble -36417555049E27 +} 0xc7bb65c41711fb6d +test expr-28.698 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +84279630104 E25 x 144a221b1cf62e_000000000000000000000000000000000001& E119 + convertToDouble +84279630104E25 +} 0x47644a221b1cf62e +test expr-28.699 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -84279630104 E24 x -103b4e7c172b58_000000000000000000000000000000000001& E116 + convertToDouble -84279630104E24 +} 0xc7303b4e7c172b58 +test expr-28.700 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +21206176437 E-27 x 1872f563ae0cc9_0000000000000000000000000000000000001& E-56 + convertToDouble +21206176437E-27 +} 0x3c7872f563ae0cc9 +test expr-28.701 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -66461566917 E-22 x -1d3ae83e4322b3_00000000000000000000000000000000000001& E-38 + convertToDouble -66461566917E-22 +} 0xbd9d3ae83e4322b3 +test expr-28.702 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +64808355539 E-16 x 1b2ebe83265fbf_00000000000000000000000000000000000001& E-18 + convertToDouble +64808355539E-16 +} 0x3edb2ebe83265fbf +test expr-28.703 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -84932679673 E-19 x -123d39339f1bf6_00000000000000000000000000000000000001& E-27 + convertToDouble -84932679673E-19 +} 0xbe423d39339f1bf6 +test expr-28.704 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +65205430094 E26 x 139f3e5d7fd76a_1111111111111111111111111111111111110& E122 + convertToDouble +65205430094E26 +} 0x47939f3e5d7fd76b +test expr-28.705 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -68384463429 E25 x -107684982f634e_1111111111111111111111111111111111111110& E119 + convertToDouble -68384463429E25 +} 0xc7607684982f634f +test expr-28.706 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +32602715047 E26 x 139f3e5d7fd76a_1111111111111111111111111111111111110& E121 + convertToDouble +32602715047E26 +} 0x47839f3e5d7fd76b +test expr-28.707 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -62662203426 E27 x -1792269424688d_111111111111111111111111111111111110& E125 + convertToDouble -62662203426E27 +} 0xc7c792269424688e +test expr-28.708 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +58784444678 E-18 x 1f8f45c64b4682_111111111111111111111111111111111111110& E-25 + convertToDouble +58784444678E-18 +} 0x3e6f8f45c64b4683 +test expr-28.709 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -50980203373 E-21 x -1c06d366394440_11111111111111111111111111111111111111111110& E-35 + convertToDouble -50980203373E-21 +} 0xbdcc06d366394441 +test expr-28.710 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +29392222339 E-18 x 1f8f45c64b4682_111111111111111111111111111111111111110& E-26 + convertToDouble +29392222339E-18 +} 0x3e5f8f45c64b4683 +test expr-28.711 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -75529940323 E-27 x -15c5203c0aad52_1111111111111111111111111111111111111110& E-54 + convertToDouble -75529940323E-27 +} 0xbc95c5203c0aad53 +test expr-28.712 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -937495906299 E26 x -11a1e0ebb6af11_000000000000000000000000000000000000000001& E126 + convertToDouble -937495906299E26 +} 0xc7d1a1e0ebb6af11 +test expr-28.713 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +842642485799 E-20 x 121879decdd7cb_000000000000000000000000000000000000000001& E-27 + convertToDouble +842642485799E-20 +} 0x3e421879decdd7cb +test expr-28.714 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -387824150699 E-23 x -110e8302245571_00000000000000000000000000000000000000001& E-38 + convertToDouble -387824150699E-23 +} 0xbd910e8302245571 +test expr-28.715 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +924948814726 E-27 x 10a992d1fc6ded_00000000000000000000000000000000000000001& E-50 + convertToDouble +924948814726E-27 +} 0x3cd0a992d1fc6ded +test expr-28.716 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -775648301398 E-23 x -110e8302245571_00000000000000000000000000000000000000001& E-37 + convertToDouble -775648301398E-23 +} 0xbda10e8302245571 +test expr-28.717 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +547075707432 E25 x 107684982f634e_1111111111111111111111111111111111111110& E122 + convertToDouble +547075707432E25 +} 0x47907684982f634f +test expr-28.718 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +683844634290 E24 x 107684982f634e_1111111111111111111111111111111111111110& E119 + convertToDouble +683844634290E24 +} 0x47607684982f634f +test expr-28.719 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -136768926858 E25 x -107684982f634e_1111111111111111111111111111111111111110& E120 + convertToDouble -136768926858E25 +} 0xc7707684982f634f +test expr-28.720 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +509802033730 E-22 x 1c06d366394440_11111111111111111111111111111111111111111110& E-35 + convertToDouble +509802033730E-22 +} 0x3dcc06d366394441 +test expr-28.721 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +101960406746 E-21 x 1c06d366394440_11111111111111111111111111111111111111111110& E-34 + convertToDouble +101960406746E-21 +} 0x3ddc06d366394441 +test expr-28.722 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -815683253968 E-21 x -1c06d366394440_11111111111111111111111111111111111111111110& E-31 + convertToDouble -815683253968E-21 +} 0xbe0c06d366394441 +test expr-28.723 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +7344124123524 E24 x 1619b519dd6833_00000000000000000000000000000000000000000001& E122 + convertToDouble +7344124123524E24 +} 0x479619b519dd6833 +test expr-28.724 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9180155154405 E23 x -1619b519dd6833_00000000000000000000000000000000000000000001& E119 + convertToDouble -9180155154405E23 +} 0xc76619b519dd6833 +test expr-28.725 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6479463327323 E27 x 130a9b3e9bd05e_00000000000000000000000000000000000000000001& E132 + convertToDouble +6479463327323E27 +} 0x48330a9b3e9bd05e +test expr-28.726 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1836031030881 E24 x -1619b519dd6833_00000000000000000000000000000000000000000001& E120 + convertToDouble -1836031030881E24 +} 0xc77619b519dd6833 +test expr-28.727 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4337269293039 E-19 x 1d1b5f354c63d6_00000000000000000000000000000000000000000001& E-22 + convertToDouble +4337269293039E-19 +} 0x3e9d1b5f354c63d6 +test expr-28.728 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4599163554373 E-23 x -1948bf4d34088d_00000000000000000000000000000000000000000001& E-35 + convertToDouble -4599163554373E-23 +} 0xbdc948bf4d34088d +test expr-28.729 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9198327108746 E-23 x 1948bf4d34088d_00000000000000000000000000000000000000000001& E-34 + convertToDouble +9198327108746E-23 +} 0x3dd948bf4d34088d +test expr-28.730 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4812803938347 E27 x 1c4980a4ee94ce_111111111111111111111111111111111111111111110& E131 + convertToDouble +4812803938347E27 +} 0x482c4980a4ee94cf +test expr-28.731 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8412030890011 E23 x -14405075e52db9_11111111111111111111111111111111111111111110& E119 + convertToDouble -8412030890011E23 +} 0xc764405075e52dba +test expr-28.732 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9625607876694 E27 x 1c4980a4ee94ce_111111111111111111111111111111111111111111110& E132 + convertToDouble +9625607876694E27 +} 0x483c4980a4ee94cf +test expr-28.733 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4739968828249 E24 x -1c87140cdf8a1d_1111111111111111111111111111111111111111110& E121 + convertToDouble -4739968828249E24 +} 0xc78c87140cdf8a1e +test expr-28.734 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9697183891673 E-23 x 1aa7c959b6a666_11111111111111111111111111111111111111111111110& E-34 + convertToDouble +9697183891673E-23 +} 0x3ddaa7c959b6a667 +test expr-28.735 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7368108517543 E-20 x -13c7535bbd85a1_1111111111111111111111111111111111111111111110& E-24 + convertToDouble -7368108517543E-20 +} 0xbe73c7535bbd85a2 +test expr-28.736 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +51461358161422 E25 x 18326f87d4cae0_0000000000000000000000000000000000000000000000001& E128 + convertToDouble +51461358161422E25 +} 0x47f8326f87d4cae0 +test expr-28.737 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -77192037242133 E26 x -16af488f577e32_0000000000000000000000000000000000000000000000001& E132 + convertToDouble -77192037242133E26 +} 0xc836af488f577e32 +test expr-28.738 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +77192037242133 E25 x 1225d3a5df9828_0000000000000000000000000000000000000000000000001& E129 + convertToDouble +77192037242133E25 +} 0x480225d3a5df9828 +test expr-28.739 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -51461358161422 E27 x -12e767221e3e7f_0000000000000000000000000000000000000000000000001& E135 + convertToDouble -51461358161422E27 +} 0xc862e767221e3e7f +test expr-28.740 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +43999661561541 E-21 x 179f4476d372a3_0000000000000000000000000000000000000000000000001& E-25 + convertToDouble +43999661561541E-21 +} 0x3e679f4476d372a3 +test expr-28.741 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -87999323123082 E-21 x -179f4476d372a3_0000000000000000000000000000000000000000000000001& E-24 + convertToDouble -87999323123082E-21 +} 0xbe779f4476d372a3 +test expr-28.742 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +48374886826137 E-26 x 110538f23350d5_00000000000000000000000000000000000000000000001& E-41 + convertToDouble +48374886826137E-26 +} 0x3d610538f23350d5 +test expr-28.743 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -57684246567111 E-23 x -13d1f5c1b8a912_00000000000000000000000000000000000000000000001& E-31 + convertToDouble -57684246567111E-23 +} 0xbe03d1f5c1b8a912 +test expr-28.744 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +87192805957686 E23 x 1a3d16e55a9664_1111111111111111111111111111111111111111111110& E122 + convertToDouble +87192805957686E23 +} 0x479a3d16e55a9665 +test expr-28.745 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -75108713005913 E24 x -1c40b4baa79655_11111111111111111111111111111111111111111111110& E125 + convertToDouble -75108713005913E24 +} 0xc7cc40b4baa79656 +test expr-28.746 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +64233110587487 E27 x 179873e38669a6_1111111111111111111111111111111111111111111110& E135 + convertToDouble +64233110587487E27 +} 0x48679873e38669a7 +test expr-28.747 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -77577471133384 E-23 x -1aa7c959b6a666_11111111111111111111111111111111111111111111110& E-31 + convertToDouble -77577471133384E-23 +} 0xbe0aa7c959b6a667 +test expr-28.748 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +48485919458365 E-24 x 1aa7c959b6a666_11111111111111111111111111111111111111111111110& E-35 + convertToDouble +48485919458365E-24 +} 0x3dcaa7c959b6a667 +test expr-28.749 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -56908598265713 E-26 x -1405deef4bdef5_111111111111111111111111111111111111111111111110& E-41 + convertToDouble -56908598265713E-26 +} 0xbd6405deef4bdef6 +test expr-28.750 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +589722294620133 E23 x 162ed1b287caef_00000000000000000000000000000000000000000000000001& E125 + convertToDouble +589722294620133E23 +} 0x47c62ed1b287caef +test expr-28.751 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +652835804449289 E-22 x 118640e490b087_0000000000000000000000000000000000000000000000000001& E-24 + convertToDouble +652835804449289E-22 +} 0x3e718640e490b087 +test expr-28.752 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -656415363936202 E-23 x -1c315cfe25d201_00000000000000000000000000000000000000000000000001& E-28 + convertToDouble -656415363936202E-23 +} 0xbe3c315cfe25d201 +test expr-28.753 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +579336749585745 E-25 x 1fd9709d9aeb19_00000000000000000000000000000000000000000000000001& E-35 + convertToDouble +579336749585745E-25 +} 0x3dcfd9709d9aeb19 +test expr-28.754 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -381292764980839 E-26 x -10c4f9921c3f8f_00000000000000000000000000000000000000000000000001& E-38 + convertToDouble -381292764980839E-26 +} 0xbd90c4f9921c3f8f +test expr-28.755 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +965265859649698 E23 x 12279607edcb0c_1111111111111111111111111111111111111111111111110& E126 + convertToDouble +965265859649698E23 +} 0x47d2279607edcb0d +test expr-28.756 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -848925235434882 E27 x -137d88ba4b43e3_1111111111111111111111111111111111111111111111111110& E139 + convertToDouble -848925235434882E27 +} 0xc8a37d88ba4b43e4 +test expr-28.757 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +536177612222491 E23 x 142b33dd3acafd_11111111111111111111111111111111111111111111111110& E125 + convertToDouble +536177612222491E23 +} 0x47c42b33dd3acafe +test expr-28.758 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -424462617717441 E27 x -137d88ba4b43e3_1111111111111111111111111111111111111111111111111110& E138 + convertToDouble -424462617717441E27 +} 0xc8937d88ba4b43e4 +test expr-28.759 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +276009279888989 E-27 x 136c242313c288_111111111111111111111111111111111111111111111111110& E-42 + convertToDouble +276009279888989E-27 +} 0x3d536c242313c289 +test expr-28.760 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -608927158043691 E-26 x -1ac7e909c22f09_11111111111111111111111111111111111111111111111110& E-38 + convertToDouble -608927158043691E-26 +} 0xbd9ac7e909c22f0a +test expr-28.761 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +552018559777978 E-27 x 136c242313c288_111111111111111111111111111111111111111111111111110& E-41 + convertToDouble +552018559777978E-27 +} 0x3d636c242313c289 +test expr-28.762 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -425678377667758 E-22 x -16da7aa49bdcd5_1111111111111111111111111111111111111111111111110& E-25 + convertToDouble -425678377667758E-22 +} 0xbe66da7aa49bdcd6 +test expr-28.763 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8013702726927119 E26 x 126607f8f1b29e_00000000000000000000000000000000000000000000000000001& E139 + convertToDouble +8013702726927119E26 +} 0x48a26607f8f1b29e +test expr-28.764 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8862627962362001 E27 x 196f3b0e7787c2_00000000000000000000000000000000000000000000000000001& E142 + convertToDouble +8862627962362001E27 +} 0x48d96f3b0e7787c2 +test expr-28.765 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5068007907757162 E26 x -17456a27848397_00000000000000000000000000000000000000000000000000001& E138 + convertToDouble -5068007907757162E26 +} 0xc897456a27848397 +test expr-28.766 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7379714799828406 E-23 x -13cf4d2839e036_00000000000000000000000000000000000000000000000000001& E-24 + convertToDouble -7379714799828406E-23 +} 0xbe73cf4d2839e036 +test expr-28.767 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4114538064016107 E-27 x 12188eda98010c_0000000000000000000000000000000000000000000000000001& E-38 + convertToDouble +4114538064016107E-27 +} 0x3d92188eda98010c +test expr-28.768 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3689857399914203 E-23 x -13cf4d2839e036_00000000000000000000000000000000000000000000000000001& E-25 + convertToDouble -3689857399914203E-23 +} 0xbe63cf4d2839e036 +test expr-28.769 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5575954851815478 E23 x 1a37cfbf2ffdb5_1111111111111111111111111111111111111111111111111110& E128 + convertToDouble +5575954851815478E23 +} 0x47fa37cfbf2ffdb6 +test expr-28.770 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3395700941739528 E27 x 137d88ba4b43e3_1111111111111111111111111111111111111111111111111110& E141 + convertToDouble +3395700941739528E27 +} 0x48c37d88ba4b43e4 +test expr-28.771 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4115535777581961 E-23 x 1618596be30fe4_111111111111111111111111111111111111111111111111111110& E-25 + convertToDouble +4115535777581961E-23 +} 0x3e6618596be30fe5 +test expr-28.772 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8231071555163922 E-23 x -1618596be30fe4_111111111111111111111111111111111111111111111111111110& E-24 + convertToDouble -8231071555163922E-23 +} 0xbe7618596be30fe5 +test expr-28.773 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6550246696190871 E-26 x 1201538b0f8c69_111111111111111111111111111111111111111111111111111110& E-34 + convertToDouble +6550246696190871E-26 +} 0x3dd201538b0f8c6a +test expr-28.774 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -68083046403986701 E27 x -186c70ba8ba28d_000000000000000000000000000000000000000000000000000000001& E145 + convertToDouble -68083046403986701E27 +} 0xc9086c70ba8ba28d +test expr-28.775 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +43566388595783643 E27 x 1f41e1bf48b03f_111111111111111111111111111111111111111111111111111111110& E144 + convertToDouble +43566388595783643E27 +} 0x48ff41e1bf48b040 +test expr-28.776 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -87132777191567286 E27 x -1f41e1bf48b03f_111111111111111111111111111111111111111111111111111111110& E145 + convertToDouble -87132777191567286E27 +} 0xc90f41e1bf48b040 +test expr-28.777 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +59644881059342141 E25 x 1b6338d9d8ae38_11111111111111111111111111111111111111111111111111111110& E138 + convertToDouble +59644881059342141E25 +} 0x489b6338d9d8ae39 +test expr-28.778 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -83852770718576667 E23 x -18a4619ed6f442_111111111111111111111111111111111111111111111111111111110& E132 + convertToDouble -83852770718576667E23 +} 0xc838a4619ed6f443 +test expr-28.779 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +99482967418206961 E-25 x 155d224bfed7ac_11111111111111111111111111111111111111111111111111111111110& E-27 + convertToDouble +99482967418206961E-25 +} 0x3e455d224bfed7ad +test expr-28.780 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -99482967418206961 E-26 x -11174ea3324623_11111111111111111111111111111111111111111111111111111111110& E-30 + convertToDouble -99482967418206961E-26 +} 0xbe11174ea3324624 +test expr-28.781 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +87446669969994614 E-27 x 1809832942376d_11111111111111111111111111111111111111111111111111111110& E-34 + convertToDouble +87446669969994614E-27 +} 0x3dd809832942376e +test expr-28.782 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -43723334984997307 E-27 x -1809832942376d_11111111111111111111111111111111111111111111111111111110& E-35 + convertToDouble -43723334984997307E-27 +} 0xbdc809832942376e +test expr-28.783 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5 E24 x 108b2a2c280290_1001& E82 + convertToDouble +5E24 +} 0x45108b2a2c280291 +test expr-28.784 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8 E25 x -108b2a2c280290_1001& E86 + convertToDouble -8E25 +} 0xc5508b2a2c280291 +test expr-28.785 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1 E25 x 108b2a2c280290_1001& E83 + convertToDouble +1E25 +} 0x45208b2a2c280291 +test expr-28.786 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4 E25 x -108b2a2c280290_1001& E85 + convertToDouble -4E25 +} 0xc5408b2a2c280291 +test expr-28.787 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +2 E-5 x 14f8b588e368f0_100001& E-16 + convertToDouble +2E-5 +} 0x3ef4f8b588e368f1 +test expr-28.788 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5 E-6 x -14f8b588e368f0_100001& E-18 + convertToDouble -5E-6 +} 0xbed4f8b588e368f1 +test expr-28.789 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4 E-5 x 14f8b588e368f0_100001& E-15 + convertToDouble +4E-5 +} 0x3f04f8b588e368f1 +test expr-28.790 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3 E-20 x -11b578c96db19a_100001& E-65 + convertToDouble -3E-20 +} 0xbbe1b578c96db19b +test expr-28.791 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3 E27 x 1363156bbee301_0110& E91 + convertToDouble +3E27 +} 0x45a363156bbee301 +test expr-28.792 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9 E26 x -1743b34e18439b_010& E89 + convertToDouble -9E26 +} 0xc58743b34e18439b +test expr-28.793 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +7 E25 x 1cf389cd46047d_00& E85 + convertToDouble +7E25 +} 0x454cf389cd46047d +test expr-28.794 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6 E27 x -1363156bbee301_0110& E92 + convertToDouble -6E27 +} 0xc5b363156bbee301 +test expr-28.795 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +2 E-21 x 12e3b40a0e9b4f_0111110& E-69 + convertToDouble +2E-21 +} 0x3ba2e3b40a0e9b4f +test expr-28.796 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5 E-22 x -12e3b40a0e9b4f_0111110& E-71 + convertToDouble -5E-22 +} 0xbb82e3b40a0e9b4f +test expr-28.797 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4 E-21 x -12e3b40a0e9b4f_0111110& E-68 + convertToDouble -4E-21 +} 0xbbb2e3b40a0e9b4f +test expr-28.798 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +87 E25 x 167d2d5406637c_10001& E89 + convertToDouble +87E25 +} 0x45867d2d5406637d +test expr-28.799 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -97 E24 x -140f232256e982_1000000001& E86 + convertToDouble -97E24 +} 0xc5540f232256e983 +test expr-28.800 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +82 E-24 x 18c87154dff6c6_1000000001& E-74 + convertToDouble +82E-24 +} 0x3b58c87154dff6c7 +test expr-28.801 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -41 E-24 x -18c87154dff6c6_1000000001& E-75 + convertToDouble -41E-24 +} 0xbb48c87154dff6c7 +test expr-28.802 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +76 E-23 x 1cb644dc1633c0_10000001& E-71 + convertToDouble +76E-23 +} 0x3b8cb644dc1633c1 +test expr-28.803 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +83 E25 x 15747ab143e353_011111111110& E89 + convertToDouble +83E25 +} 0x4585747ab143e353 +test expr-28.804 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -50 E27 x -1431e0fae6d721_0111110& E95 + convertToDouble -50E27 +} 0xc5e431e0fae6d721 +test expr-28.805 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +25 E27 x 1431e0fae6d721_0111110& E94 + convertToDouble +25E27 +} 0x45d431e0fae6d721 +test expr-28.806 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -99 E27 x -13fe2e171cda19_011110& E96 + convertToDouble -99E27 +} 0xc5f3fe2e171cda19 +test expr-28.807 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +97 E-10 x 14d4a1a3157dc7_011111110& E-27 + convertToDouble +97E-10 +} 0x3e44d4a1a3157dc7 +test expr-28.808 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -57 E-20 x -15077f6f3242e7_011111110& E-61 + convertToDouble -57E-20 +} 0xbc25077f6f3242e7 +test expr-28.809 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +997 E23 x 149e12f51c1a3c_10000000001& E86 + convertToDouble +997E23 +} 0x45549e12f51c1a3d +test expr-28.810 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +776 E24 x 140f232256e982_1000000001& E89 + convertToDouble +776E24 +} 0x45840f232256e983 +test expr-28.811 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -388 E24 x -140f232256e982_1000000001& E88 + convertToDouble -388E24 +} 0xc5740f232256e983 +test expr-28.812 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +521 E-10 x 1bf891c92c0890_100000000001& E-25 + convertToDouble +521E-10 +} 0x3e6bf891c92c0891 +test expr-28.813 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -506 E-26 x -1877fa0260beb2_10000000001& E-78 + convertToDouble -506E-26 +} 0xbb1877fa0260beb3 +test expr-28.814 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +739 E-10 x 13d65e8c76722c_10000000001& E-24 + convertToDouble +739E-10 +} 0x3e73d65e8c76722d +test expr-28.815 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -867 E-7 x -16ba56a8834168_100000000001& E-14 + convertToDouble -867E-7 +} 0xbf16ba56a8834169 +test expr-28.816 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -415 E24 x -15747ab143e353_011111111110& E88 + convertToDouble -415E24 +} 0xc575747ab143e353 +test expr-28.817 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +332 E25 x 15747ab143e353_011111111110& E91 + convertToDouble +332E25 +} 0x45a5747ab143e353 +test expr-28.818 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -664 E25 x -15747ab143e353_011111111110& E92 + convertToDouble -664E25 +} 0xc5b5747ab143e353 +test expr-28.819 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +291 E-13 x 1ffeebfc8b81b5_01111111111110& E-36 + convertToDouble +291E-13 +} 0x3dbffeebfc8b81b5 +test expr-28.820 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -982 E-8 x -14981285e98e79_0111111111110& E-17 + convertToDouble -982E-8 +} 0xbee4981285e98e79 +test expr-28.821 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +582 E-13 x 1ffeebfc8b81b5_01111111111110& E-35 + convertToDouble +582E-13 +} 0x3dcffeebfc8b81b5 +test expr-28.822 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -491 E-8 x -14981285e98e79_0111111111110& E-18 + convertToDouble -491E-8 +} 0xbed4981285e98e79 +test expr-28.823 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4574 E26 x 1717c1a612f954_100000000001& E98 + convertToDouble +4574E26 +} 0x461717c1a612f955 +test expr-28.824 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8609 E26 x -15bb6f942546ee_1000000000001& E99 + convertToDouble -8609E26 +} 0xc625bb6f942546ef +test expr-28.825 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +2287 E26 x 1717c1a612f954_100000000001& E97 + convertToDouble +2287E26 +} 0x460717c1a612f955 +test expr-28.826 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4818 E24 x -1f22b65eb419a0_10000000001& E91 + convertToDouble -4818E24 +} 0xc5af22b65eb419a1 +test expr-28.827 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6529 E-8 x 111d89a8b5c142_100000000000001& E-14 + convertToDouble +6529E-8 +} 0x3f111d89a8b5c143 +test expr-28.828 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8151 E-21 x -12cb804b61b898_1000000000000001& E-57 + convertToDouble -8151E-21 +} 0xbc62cb804b61b899 +test expr-28.829 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1557 E-12 x 1abfc227ab1026_10000000000001& E-30 + convertToDouble +1557E-12 +} 0x3e1abfc227ab1027 +test expr-28.830 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2573 E-18 x -172cef1ebbca44_10000000000001& E-49 + convertToDouble -2573E-18 +} 0xbce72cef1ebbca45 +test expr-28.831 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4929 E-16 x 1157a604ed019f_0111111111111110& E-41 + convertToDouble +4929E-16 +} 0x3d6157a604ed019f +test expr-28.832 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3053 E-22 x -1686f435fe6b6b_011111111111110& E-62 + convertToDouble -3053E-22 +} 0xbc1686f435fe6b6b +test expr-28.833 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9858 E-16 x 1157a604ed019f_0111111111111110& E-40 + convertToDouble +9858E-16 +} 0x3d7157a604ed019f +test expr-28.834 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7767 E-11 x -14d971170ed055_011111111111110& E-24 + convertToDouble -7767E-11 +} 0xbe74d971170ed055 +test expr-28.835 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +54339 E26 x 1125782ec15cbe_100000000000000001& E102 + convertToDouble +54339E26 +} 0x465125782ec15cbf +test expr-28.836 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -62409 E25 x -1f822c980d4bb2_100000000000000001& E98 + convertToDouble -62409E25 +} 0xc61f822c980d4bb3 +test expr-28.837 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +32819 E27 x 19e3be885fc16a_100000000000001& E104 + convertToDouble +32819E27 +} 0x4679e3be885fc16b +test expr-28.838 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -89849 E27 x -11b8371b6dda04_1000000000000001& E106 + convertToDouble -89849E27 +} 0xc691b8371b6dda05 +test expr-28.839 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +63876 E-20 x 1703856844bdbe_1000000000000000000001& E-51 + convertToDouble +63876E-20 +} 0x3cc703856844bdbf +test expr-28.840 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -15969 E-20 x -1703856844bdbe_1000000000000000000001& E-53 + convertToDouble -15969E-20 +} 0xbca703856844bdbf +test expr-28.841 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +31938 E-20 x 1703856844bdbe_1000000000000000000001& E-52 + convertToDouble +31938E-20 +} 0x3cb703856844bdbf +test expr-28.842 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -79845 E-21 x -1703856844bdbe_1000000000000000000001& E-54 + convertToDouble -79845E-21 +} 0xbc9703856844bdbf +test expr-28.843 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +89306 E27 x 119cccff237e17_011111111111110& E106 + convertToDouble +89306E27 +} 0x46919cccff237e17 +test expr-28.844 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -25487 E24 x -1496968ba07117_01111111111110& E94 + convertToDouble -25487E24 +} 0xc5d496968ba07117 +test expr-28.845 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +79889 E24 x 10222a1c7e27d3_01111111111110& E96 + convertToDouble +79889E24 +} 0x45f0222a1c7e27d3 +test expr-28.846 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -97379 E26 x -1eba3685911519_011111111111111110& E102 + convertToDouble -97379E26 +} 0xc65eba3685911519 +test expr-28.847 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +81002 E-8 x 1a8af0b45d9531_0111111111111111110& E-11 + convertToDouble +81002E-8 +} 0x3f4a8af0b45d9531 +test expr-28.848 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -43149 E-25 x -146064de6ecbed_011111111111111110& E-68 + convertToDouble -43149E-25 +} 0xbbb46064de6ecbed +test expr-28.849 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +40501 E-8 x 1a8af0b45d9531_0111111111111111110& E-12 + convertToDouble +40501E-8 +} 0x3f3a8af0b45d9531 +test expr-28.850 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -60318 E-10 x -194c988f217e51_011111111111111110& E-18 + convertToDouble -60318E-10 +} 0xbed94c988f217e51 +test expr-28.851 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -648299 E27 x -1ff6af0bf00100_10000000000000000001& E108 + convertToDouble -648299E27 +} 0xc6bff6af0bf00101 +test expr-28.852 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +780649 E24 x 13b4d36f9edd18_10000000000000000001& E99 + convertToDouble +780649E24 +} 0x4623b4d36f9edd19 +test expr-28.853 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +720919 E-14 x 1ef696965cbf04_10000000000000000000000001& E-28 + convertToDouble +720919E-14 +} 0x3e3ef696965cbf05 +test expr-28.854 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -629703 E-11 x -1a69626d2629d0_1000000000000000000000001& E-18 + convertToDouble -629703E-11 +} 0xbeda69626d2629d1 +test expr-28.855 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +557913 E24 x 1c2adb44b394bf_01111111111111111110& E98 + convertToDouble +557913E24 +} 0x461c2adb44b394bf +test expr-28.856 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -847899 E23 x -111f88fb93dce9_011111111111111111110& E96 + convertToDouble -847899E23 +} 0xc5f11f88fb93dce9 +test expr-28.857 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +565445 E27 x 1be0eb55770d4d_0111111111111111110& E108 + convertToDouble +565445E27 +} 0x46bbe0eb55770d4d +test expr-28.858 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -736531 E24 x -1297b853d64ac7_01111111111111111110& E99 + convertToDouble -736531E24 +} 0xc62297b853d64ac7 +test expr-28.859 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +680013 E-19 x 13240293e95c3b_01111111111111111111110& E-44 + convertToDouble +680013E-19 +} 0x3d33240293e95c3b +test expr-28.860 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -529981 E-10 x -1bc948d999ac11_011111111111111111110& E-15 + convertToDouble -529981E-10 +} 0xbf0bc948d999ac11 +test expr-28.861 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +382923 E-23 x 11a8c1c10a1fc5_011111111111111111110& E-58 + convertToDouble +382923E-23 +} 0x3c51a8c1c10a1fc5 +test expr-28.862 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -633614 E-18 x -164b166995a9b7_011111111111111111110& E-41 + convertToDouble -633614E-18 +} 0xbd664b166995a9b7 +test expr-28.863 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +2165479 E27 x 1ab10c016c34b8_100000000000000000000001& E110 + convertToDouble +2165479E27 +} 0x46dab10c016c34b9 +test expr-28.864 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8661916 E27 x -1ab10c016c34b8_100000000000000000000001& E112 + convertToDouble -8661916E27 +} 0xc6fab10c016c34b9 +test expr-28.865 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4330958 E27 x 1ab10c016c34b8_100000000000000000000001& E111 + convertToDouble +4330958E27 +} 0x46eab10c016c34b9 +test expr-28.866 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9391993 E22 x -12f78bec748c98_1000000000000000000001& E96 + convertToDouble -9391993E22 +} 0xc5f2f78bec748c99 +test expr-28.867 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5767352 E-14 x -1ef696965cbf04_10000000000000000000000001& E-25 + convertToDouble -5767352E-14 +} 0xbe6ef696965cbf05 +test expr-28.868 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +7209190 E-15 x 1ef696965cbf04_10000000000000000000000001& E-28 + convertToDouble +7209190E-15 +} 0x3e3ef696965cbf05 +test expr-28.869 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1441838 E-14 x -1ef696965cbf04_10000000000000000000000001& E-27 + convertToDouble -1441838E-14 +} 0xbe4ef696965cbf05 +test expr-28.870 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8478990 E22 x 111f88fb93dce9_011111111111111111110& E96 + convertToDouble +8478990E22 +} 0x45f11f88fb93dce9 +test expr-28.871 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +1473062 E24 x 1297b853d64ac7_01111111111111111110& E100 + convertToDouble +1473062E24 +} 0x463297b853d64ac7 +test expr-28.872 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8366487 E-14 x 167567f55b22e1_0111111111111111111111110& E-24 + convertToDouble +8366487E-14 +} 0x3e767567f55b22e1 +test expr-28.873 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8399969 E-25 x -1efd8be1b15b43_011111111111111111111110& E-61 + convertToDouble -8399969E-25 +} 0xbc2efd8be1b15b43 +test expr-28.874 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9366737 E-12 x 13a4ba87ddc13f_011111111111111111111110& E-17 + convertToDouble +9366737E-12 +} 0x3ee3a4ba87ddc13f +test expr-28.875 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9406141 E-13 x -1f8fd047c84d49_0111111111111111111111110& E-21 + convertToDouble -9406141E-13 +} 0xbeaf8fd047c84d49 +test expr-28.876 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +65970979 E24 x 1a055dd68f3e3c_1000000000000000000000000001& E105 + convertToDouble +65970979E24 +} 0x468a055dd68f3e3d +test expr-28.877 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -65060671 E26 x -140c61c9916cf4_100000000000000000000000001& E112 + convertToDouble -65060671E26 +} 0xc6f40c61c9916cf5 +test expr-28.878 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +54923002 E27 x 1527d37d8b38ea_10000000000000000000000001& E115 + convertToDouble +54923002E27 +} 0x472527d37d8b38eb +test expr-28.879 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -63846927 E25 x -1f7a9d79dad9b4_10000000000000000000000001& E108 + convertToDouble -63846927E25 +} 0xc6bf7a9d79dad9b5 +test expr-28.880 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +99585767 E-21 x 1c07e928406d2e_100000000000000000000000001& E-44 + convertToDouble +99585767E-21 +} 0x3d3c07e928406d2f +test expr-28.881 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +67488159 E25 x 10a31a03822bc9_011111111111111111111111111110& E109 + convertToDouble +67488159E25 +} 0x46c0a31a03822bc9 +test expr-28.882 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -69005339 E24 x -1b37c234aae77b_011111111111111111111111110& E105 + convertToDouble -69005339E24 +} 0xc68b37c234aae77b +test expr-28.883 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +81956786 E27 x 1f919023fcb6fd_0111111111111111111111111110& E115 + convertToDouble +81956786E27 +} 0x472f919023fcb6fd +test expr-28.884 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -40978393 E27 x -1f919023fcb6fd_0111111111111111111111111110& E114 + convertToDouble -40978393E27 +} 0xc71f919023fcb6fd +test expr-28.885 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +77505754 E-12 x 145152b6f85e09_0111111111111111111111111110& E-14 + convertToDouble +77505754E-12 +} 0x3f145152b6f85e09 +test expr-28.886 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -38752877 E-12 x -145152b6f85e09_0111111111111111111111111110& E-15 + convertToDouble -38752877E-12 +} 0xbf045152b6f85e09 +test expr-28.887 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +82772981 E-15 x 16381dae63505f_0111111111111111111111111111110& E-24 + convertToDouble +82772981E-15 +} 0x3e76381dae63505f +test expr-28.888 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -95593517 E-25 x -160ad862d8537d_0111111111111111111111111110& E-57 + convertToDouble -95593517E-25 +} 0xbc660ad862d8537d +test expr-28.889 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +200036989 E25 x 18a80dedbc575e_10000000000000000000000000001& E110 + convertToDouble +200036989E25 +} 0x46d8a80dedbc575f +test expr-28.890 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -772686455 E27 x -129a0c45ceca7a_1000000000000000000000000000001& E119 + convertToDouble -772686455E27 +} 0xc7629a0c45ceca7b +test expr-28.891 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +859139907 E23 x 10f18c4dd0ffe2_10000000000000000000000000001& E106 + convertToDouble +859139907E23 +} 0x4690f18c4dd0ffe3 +test expr-28.892 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -400073978 E25 x -18a80dedbc575e_10000000000000000000000000001& E111 + convertToDouble -400073978E25 +} 0xc6e8a80dedbc575f +test expr-28.893 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +569014327 E-14 x 17ddbeac19d3b2_100000000000000000000000000001& E-18 + convertToDouble +569014327E-14 +} 0x3ed7ddbeac19d3b3 +test expr-28.894 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -794263862 E-15 x -1aa6acb41dfc52_1000000000000000000000000000001& E-21 + convertToDouble -794263862E-15 +} 0xbeaaa6acb41dfc53 +test expr-28.895 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +397131931 E-15 x 1aa6acb41dfc52_1000000000000000000000000000001& E-22 + convertToDouble +397131931E-15 +} 0x3e9aa6acb41dfc53 +test expr-28.896 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -380398957 E-16 x -146c29d8331024_100000000000000000000000000001& E-25 + convertToDouble -380398957E-16 +} 0xbe646c29d8331025 +test expr-28.897 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +567366773 E27 x 1b5155dd5417f9_0111111111111111111111111111110& E118 + convertToDouble +567366773E27 +} 0x475b5155dd5417f9 +test expr-28.898 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -337440795 E24 x -10a31a03822bc9_011111111111111111111111111110& E108 + convertToDouble -337440795E24 +} 0xc6b0a31a03822bc9 +test expr-28.899 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +134976318 E25 x 10a31a03822bc9_011111111111111111111111111110& E110 + convertToDouble +134976318E25 +} 0x46d0a31a03822bc9 +test expr-28.900 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -269952636 E25 x -10a31a03822bc9_011111111111111111111111111110& E111 + convertToDouble -269952636E25 +} 0xc6e0a31a03822bc9 +test expr-28.901 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +932080597 E-20 x 147f25b4941e5b_0111111111111111111111111111110& E-37 + convertToDouble +932080597E-20 +} 0x3da47f25b4941e5b +test expr-28.902 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -331091924 E-15 x -16381dae63505f_0111111111111111111111111111110& E-22 + convertToDouble -331091924E-15 +} 0xbe96381dae63505f +test expr-28.903 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -413864905 E-16 x -16381dae63505f_0111111111111111111111111111110& E-25 + convertToDouble -413864905E-16 +} 0xbe66381dae63505f +test expr-28.904 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8539246247 E26 x 148eb7813eaeba_10000000000000000000000000000001& E119 + convertToDouble +8539246247E26 +} 0x47648eb7813eaebb +test expr-28.905 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -5859139791 E26 x -1c35f28719d478_10000000000000000000000000000001& E118 + convertToDouble -5859139791E26 +} 0xc75c35f28719d479 +test expr-28.906 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6105010149 E24 x 12d000fb2b138a_1000000000000000000000000000000001& E112 + convertToDouble +6105010149E24 +} 0x46f2d000fb2b138b +test expr-28.907 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3090745820 E27 x -129a0c45ceca7a_1000000000000000000000000000001& E121 + convertToDouble -3090745820E27 +} 0xc7829a0c45ceca7b +test expr-28.908 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3470877773 E-20 x 1314d381f2c31e_1000000000000000000000000000000001& E-35 + convertToDouble +3470877773E-20 +} 0x3dc314d381f2c31f +test expr-28.909 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6136309089 E-27 x -1c4c799fab4328_1000000000000000000000000000000001& E-58 + convertToDouble -6136309089E-27 +} 0xbc5c4c799fab4329 +test expr-28.910 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8917758713 E-19 x 1ea424bda7d7f4_100000000000000000000000000000001& E-31 + convertToDouble +8917758713E-19 +} 0x3e0ea424bda7d7f5 +test expr-28.911 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6941755546 E-20 x -1314d381f2c31e_1000000000000000000000000000000001& E-34 + convertToDouble -6941755546E-20 +} 0xbdd314d381f2c31f +test expr-28.912 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9194900535 E25 x 11b56f9c090dfb_011111111111111111111111111111111110& E116 + convertToDouble +9194900535E25 +} 0x4731b56f9c090dfb +test expr-28.913 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1838980107 E26 x -11b56f9c090dfb_011111111111111111111111111111111110& E117 + convertToDouble -1838980107E26 +} 0xc741b56f9c090dfb +test expr-28.914 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +7355920428 E26 x 11b56f9c090dfb_011111111111111111111111111111111110& E119 + convertToDouble +7355920428E26 +} 0x4761b56f9c090dfb +test expr-28.915 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3677960214 E26 x -11b56f9c090dfb_011111111111111111111111111111111110& E118 + convertToDouble -3677960214E26 +} 0xc751b56f9c090dfb +test expr-28.916 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8473634343 E-17 x 16bf0984b232b7_0111111111111111111111111111111110& E-24 + convertToDouble +8473634343E-17 +} 0x3e76bf0984b232b7 +test expr-28.917 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8870766274 E-16 x -1dc3ee22137269_0111111111111111111111111111111110& E-21 + convertToDouble -8870766274E-16 +} 0xbeadc3ee22137269 +test expr-28.918 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +4435383137 E-16 x 1dc3ee22137269_0111111111111111111111111111111110& E-22 + convertToDouble +4435383137E-16 +} 0x3e9dc3ee22137269 +test expr-28.919 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9598990129 E-15 x -14216b286031e7_01111111111111111111111111111111110& E-17 + convertToDouble -9598990129E-15 +} 0xbee4216b286031e7 +test expr-28.920 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +71563496764 E26 x 15890d1ef6a0da_10000000000000000000000000000000000001& E122 + convertToDouble +71563496764E26 +} 0x4795890d1ef6a0db +test expr-28.921 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -89454370955 E25 x -15890d1ef6a0da_10000000000000000000000000000000000001& E119 + convertToDouble -89454370955E25 +} 0xc765890d1ef6a0db +test expr-28.922 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +17890874191 E26 x 15890d1ef6a0da_10000000000000000000000000000000000001& E120 + convertToDouble +17890874191E26 +} 0x4775890d1ef6a0db +test expr-28.923 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -35781748382 E26 x -15890d1ef6a0da_10000000000000000000000000000000000001& E121 + convertToDouble -35781748382E26 +} 0xc785890d1ef6a0db +test expr-28.924 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +57973447842 E-19 x 18e63f7cf5313c_1000000000000000000000000000000000000001& E-28 + convertToDouble +57973447842E-19 +} 0x3e38e63f7cf5313d +test expr-28.925 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -28986723921 E-19 x -18e63f7cf5313c_1000000000000000000000000000000000000001& E-29 + convertToDouble -28986723921E-19 +} 0xbe28e63f7cf5313d +test expr-28.926 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +76822711313 E-19 x 107f5f8b3bf818_100000000000000000000000000000000001& E-27 + convertToDouble +76822711313E-19 +} 0x3e407f5f8b3bf819 +test expr-28.927 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -97699466874 E-20 x -10c8de34de806e_10000000000000000000000000000000001& E-30 + convertToDouble -97699466874E-20 +} 0xbe10c8de34de806f +test expr-28.928 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +67748656762 E27 x 197bf5559b31fd_01111111111111111111111111111111111110& E125 + convertToDouble +67748656762E27 +} 0x47c97bf5559b31fd +test expr-28.929 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -19394840991 E24 x -1de1ea791a6e7d_0111111111111111111111111111111111110& E113 + convertToDouble -19394840991E24 +} 0xc70de1ea791a6e7d +test expr-28.930 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +38789681982 E24 x 1de1ea791a6e7d_0111111111111111111111111111111111110& E114 + convertToDouble +38789681982E24 +} 0x471de1ea791a6e7d +test expr-28.931 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -33874328381 E27 x -197bf5559b31fd_01111111111111111111111111111111111110& E124 + convertToDouble -33874328381E27 +} 0xc7b97bf5559b31fd +test expr-28.932 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +54323763886 E-27 x 1f50c5c63e5441_0111111111111111111111111111111111110& E-55 + convertToDouble +54323763886E-27 +} 0x3c8f50c5c63e5441 +test expr-28.933 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -58987193887 E-20 x -14449185a4c829_011111111111111111111111111111111111110& E-31 + convertToDouble -58987193887E-20 +} 0xbe04449185a4c829 +test expr-28.934 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +27161881943 E-27 x 1f50c5c63e5441_0111111111111111111111111111111111110& E-56 + convertToDouble +27161881943E-27 +} 0x3c7f50c5c63e5441 +test expr-28.935 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -93042648033 E-19 x -13fb12dc023fd3_0111111111111111111111111111111111110& E-27 + convertToDouble -93042648033E-19 +} 0xbe43fb12dc023fd3 +test expr-28.936 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +520831059055 E27 x 187d469cb69dd0_10000000000000000000000000000000000000001& E128 + convertToDouble +520831059055E27 +} 0x47f87d469cb69dd1 +test expr-28.937 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -768124264394 E25 x -171d6a019edae8_1000000000000000000000000000000000000001& E122 + convertToDouble -768124264394E25 +} 0xc7971d6a019edae9 +test expr-28.938 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +384062132197 E25 x 171d6a019edae8_1000000000000000000000000000000000000001& E121 + convertToDouble +384062132197E25 +} 0x47871d6a019edae9 +test expr-28.939 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +765337749889 E-25 x 158ad6f5d0a854_100000000000000000000000000000000000000001& E-44 + convertToDouble +765337749889E-25 +} 0x3d358ad6f5d0a855 +test expr-28.940 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +794368912771 E25 x 17e79872f2f7ef_01111111111111111111111111111111111111110& E122 + convertToDouble +794368912771E25 +} 0x4797e79872f2f7ef +test expr-28.941 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -994162090146 E23 x -132598f85e658b_011111111111111111111111111111111111110& E116 + convertToDouble -994162090146E23 +} 0xc7332598f85e658b +test expr-28.942 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +781652779431 E26 x 1d670adf52038f_01111111111111111111111111111111111110& E125 + convertToDouble +781652779431E26 +} 0x47cd670adf52038f +test expr-28.943 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +910077190046 E-26 x 147e3ce1871d79_01111111111111111111111111111111111111110& E-47 + convertToDouble +910077190046E-26 +} 0x3d047e3ce1871d79 +test expr-28.944 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -455038595023 E-26 x -147e3ce1871d79_01111111111111111111111111111111111111110& E-48 + convertToDouble -455038595023E-26 +} 0xbcf47e3ce1871d79 +test expr-28.945 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +471897551096 E-20 x 14449185a4c829_011111111111111111111111111111111111110& E-28 + convertToDouble +471897551096E-20 +} 0x3e34449185a4c829 +test expr-28.946 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -906698409911 E-21 x -1f27674f7d5745_0111111111111111111111111111111111111110& E-31 + convertToDouble -906698409911E-21 +} 0xbe0f27674f7d5745 +test expr-28.947 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8854128003935 E25 x 10a71b8948faac_100000000000000000000000000000000000000001& E126 + convertToDouble +8854128003935E25 +} 0x47d0a71b8948faad +test expr-28.948 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8146122716299 E27 x -17f0762ac05654_1000000000000000000000000000000000000000001& E132 + convertToDouble -8146122716299E27 +} 0xc837f0762ac05655 +test expr-28.949 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +7083302403148 E26 x 10a71b8948faac_100000000000000000000000000000000000000001& E129 + convertToDouble +7083302403148E26 +} 0x4800a71b8948faad +test expr-28.950 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -3541651201574 E26 x -10a71b8948faac_100000000000000000000000000000000000000001& E128 + convertToDouble -3541651201574E26 +} 0xc7f0a71b8948faad +test expr-28.951 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8394920649291 E-25 x 1d8978e8c1cc78_100000000000000000000000000000000000000000001& E-41 + convertToDouble +8394920649291E-25 +} 0x3d6d8978e8c1cc79 +test expr-28.952 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -7657975756753 E-22 x -1a5006d695fef0_1000000000000000000000000000000000000000000001& E-31 + convertToDouble -7657975756753E-22 +} 0xbe0a5006d695fef1 +test expr-28.953 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5473834002228 E-20 x 1d632e1f745624_100000000000000000000000000000000000000000001& E-25 + convertToDouble +5473834002228E-20 +} 0x3e6d632e1f745625 +test expr-28.954 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -6842292502785 E-21 x -1d632e1f745624_100000000000000000000000000000000000000000001& E-28 + convertToDouble -6842292502785E-21 +} 0xbe3d632e1f745625 +test expr-28.955 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2109568884597 E25 x -1fbdc386609b13_011111111111111111111111111111111111111110& E123 + convertToDouble -2109568884597E25 +} 0xc7afbdc386609b13 +test expr-28.956 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +8438275538388 E25 x 1fbdc386609b13_011111111111111111111111111111111111111110& E125 + convertToDouble +8438275538388E25 +} 0x47cfbdc386609b13 +test expr-28.957 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -4219137769194 E25 x -1fbdc386609b13_011111111111111111111111111111111111111110& E124 + convertToDouble -4219137769194E25 +} 0xc7bfbdc386609b13 +test expr-28.958 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +3200141789841 E-25 x 1684dcea3829f7_0111111111111111111111111111111111111111110& E-42 + convertToDouble +3200141789841E-25 +} 0x3d5684dcea3829f7 +test expr-28.959 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8655689322607 E-22 x -1dbd9ff5dc8991_011111111111111111111111111111111111111110& E-31 + convertToDouble -8655689322607E-22 +} 0xbe0dbd9ff5dc8991 +test expr-28.960 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6400283579682 E-25 x 1684dcea3829f7_0111111111111111111111111111111111111111110& E-41 + convertToDouble +6400283579682E-25 +} 0x3d6684dcea3829f7 +test expr-28.961 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -8837719634493 E-21 x -12fa9676d2585b_011111111111111111111111111111111111111110& E-27 + convertToDouble -8837719634493E-21 +} 0xbe42fa9676d2585b +test expr-28.962 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +19428217075297 E24 x 1d3b7a1d154aba_10000000000000000000000000000000000000000000001& E123 + convertToDouble +19428217075297E24 +} 0x47ad3b7a1d154abb +test expr-28.963 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -38856434150594 E24 x -1d3b7a1d154aba_10000000000000000000000000000000000000000000001& E124 + convertToDouble -38856434150594E24 +} 0xc7bd3b7a1d154abb +test expr-28.964 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +77712868301188 E24 x 1d3b7a1d154aba_10000000000000000000000000000000000000000000001& E125 + convertToDouble +77712868301188E24 +} 0x47cd3b7a1d154abb +test expr-28.965 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -77192037242133 E27 x -1c5b1ab32d5dbe_1000000000000000000000000000000000000000000000001& E135 + convertToDouble -77192037242133E27 +} 0xc86c5b1ab32d5dbf +test expr-28.966 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +76579757567530 E-23 x 1a5006d695fef0_1000000000000000000000000000000000000000000001& E-31 + convertToDouble +76579757567530E-23 +} 0x3e0a5006d695fef1 +test expr-28.967 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +15315951513506 E-22 x 1a5006d695fef0_1000000000000000000000000000000000000000000001& E-30 + convertToDouble +15315951513506E-22 +} 0x3e1a5006d695fef1 +test expr-28.968 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -38289878783765 E-23 x -1a5006d695fef0_1000000000000000000000000000000000000000000001& E-32 + convertToDouble -38289878783765E-23 +} 0xbdfa5006d695fef1 +test expr-28.969 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +49378033925202 E25 x 1737aa2567167b_0111111111111111111111111111111111111111111110& E128 + convertToDouble +49378033925202E25 +} 0x47f737aa2567167b +test expr-28.970 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -50940527102367 E24 x -132964f2944b05_0111111111111111111111111111111111111111111111110& E125 + convertToDouble -50940527102367E24 +} 0xc7c32964f2944b05 +test expr-28.971 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +98756067850404 E25 x 1737aa2567167b_0111111111111111111111111111111111111111111110& E129 + convertToDouble +98756067850404E25 +} 0x480737aa2567167b +test expr-28.972 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -99589397544892 E26 x -1d4446075c4933_0111111111111111111111111111111111111111111110& E132 + convertToDouble -99589397544892E26 +} 0xc83d4446075c4933 +test expr-28.973 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -56908598265713 E-25 x -190756ab1ed6b3_011111111111111111111111111111111111111111111110& E-38 + convertToDouble -56908598265713E-25 +} 0xbd990756ab1ed6b3 +test expr-28.974 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +97470695699657 E-22 x 14ee821710e655_01111111111111111111111111111111111111111111110& E-27 + convertToDouble +97470695699657E-22 +} 0x3e44ee821710e655 +test expr-28.975 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -35851901247343 E-25 x -1f8921657e1581_0111111111111111111111111111111111111111111110& E-39 + convertToDouble -35851901247343E-25 +} 0xbd8f8921657e1581 +test expr-28.976 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +154384074484266 E27 x 1c5b1ab32d5dbe_1000000000000000000000000000000000000000000000001& E136 + convertToDouble +154384074484266E27 +} 0x487c5b1ab32d5dbf +test expr-28.977 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -308768148968532 E27 x -1c5b1ab32d5dbe_1000000000000000000000000000000000000000000000001& E137 + convertToDouble -308768148968532E27 +} 0xc88c5b1ab32d5dbf +test expr-28.978 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +910990389005985 E23 x 112242592ae54a_100000000000000000000000000000000000000000000001& E126 + convertToDouble +910990389005985E23 +} 0x47d12242592ae54b +test expr-28.979 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +271742424169201 E-27 x 131f46bcf7b452_10000000000000000000000000000000000000000000000001& E-42 + convertToDouble +271742424169201E-27 +} 0x3d531f46bcf7b453 +test expr-28.980 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -543484848338402 E-27 x -131f46bcf7b452_10000000000000000000000000000000000000000000000001& E-41 + convertToDouble -543484848338402E-27 +} 0xbd631f46bcf7b453 +test expr-28.981 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +162192083357563 E-26 x 1c887b68658760_1000000000000000000000000000000000000000000000001& E-40 + convertToDouble +162192083357563E-26 +} 0x3d7c887b68658761 +test expr-28.982 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -869254552770081 E-23 x -12aac70665485e_1000000000000000000000000000000000000000000000000001& E-27 + convertToDouble -869254552770081E-23 +} 0xbe42aac70665485f +test expr-28.983 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +664831007626046 E24 x 1f429cb67eb075_011111111111111111111111111111111111111111111111110& E128 + convertToDouble +664831007626046E24 +} 0x47ff429cb67eb075 +test expr-28.984 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -332415503813023 E24 x -1f429cb67eb075_011111111111111111111111111111111111111111111111110& E127 + convertToDouble -332415503813023E24 +} 0xc7ef429cb67eb075 +test expr-28.985 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +943701829041427 E24 x 162fb2e38ee461_01111111111111111111111111111111111111111111111110& E129 + convertToDouble +943701829041427E24 +} 0x48062fb2e38ee461 +test expr-28.986 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -101881054204734 E24 x -132964f2944b05_0111111111111111111111111111111111111111111111110& E126 + convertToDouble -101881054204734E24 +} 0xc7d32964f2944b05 +test expr-28.987 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +828027839666967 E-27 x 1d2236349da3cd_011111111111111111111111111111111111111111111111110& E-41 + convertToDouble +828027839666967E-27 +} 0x3d6d2236349da3cd +test expr-28.988 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -280276135608777 E-27 x -13b901892fd0bf_0111111111111111111111111111111111111111111111110& E-42 + convertToDouble -280276135608777E-27 +} 0xbd53b901892fd0bf +test expr-28.989 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +212839188833879 E-21 x 1c91194dc2d40b_0111111111111111111111111111111111111111111111110& E-23 + convertToDouble +212839188833879E-21 +} 0x3e8c91194dc2d40b +test expr-28.990 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -113817196531426 E-25 x -190756ab1ed6b3_011111111111111111111111111111111111111111111110& E-37 + convertToDouble -113817196531426E-25 +} 0xbda90756ab1ed6b3 +test expr-28.991 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +9711553197796883 E27 x 1bdeec25c0f03e_10000000000000000000000000000000000000000000000000001& E142 + convertToDouble +9711553197796883E27 +} 0x48dbdeec25c0f03f +test expr-28.992 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2739849386524269 E26 x -19295ade212370_1000000000000000000000000000000000000000000000000001& E137 + convertToDouble -2739849386524269E26 +} 0xc889295ade212371 +test expr-28.993 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +5479698773048538 E26 x 19295ade212370_1000000000000000000000000000000000000000000000000001& E138 + convertToDouble +5479698773048538E26 +} 0x4899295ade212371 +test expr-28.994 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6124568318523113 E-25 x 150b3a2e0aff14_1000000000000000000000000000000000000000000000000000001& E-31 + convertToDouble +6124568318523113E-25 +} 0x3e050b3a2e0aff15 +test expr-28.995 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1139777988171071 E-24 x -1394cbee428ea4_10000000000000000000000000000000000000000000000000001& E-30 + convertToDouble -1139777988171071E-24 +} 0xbe1394cbee428ea5 +test expr-28.996 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +6322612303128019 E-27 x 1bcea0ec21e250_1000000000000000000000000000000000000000000000000000001& E-38 + convertToDouble +6322612303128019E-27 +} 0x3d9bcea0ec21e251 +test expr-28.997 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2955864564844617 E-25 x -1450030e26c6dc_10000000000000000000000000000000000000000000000000001& E-32 + convertToDouble -2955864564844617E-25 +} 0xbdf450030e26c6dd +test expr-28.998 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -9994029144998961 E25 x -125b2b7fed4a61_0111111111111111111111111111111111111111111111111110& E136 + convertToDouble -9994029144998961E25 +} 0xc8725b2b7fed4a61 +test expr-28.999 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -2971238324022087 E27 x -110dd7a301db67_0111111111111111111111111111111111111111111111111110& E141 + convertToDouble -2971238324022087E27 +} 0xc8c10dd7a301db67 +test expr-28.1000 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1656055679333934 E-27 x -1d2236349da3cd_011111111111111111111111111111111111111111111111110& E-40 + convertToDouble -1656055679333934E-27 +} 0xbd7d2236349da3cd +test expr-28.1001 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -1445488709150234 E-26 x -1fc960c59526c7_0111111111111111111111111111111111111111111111110& E-37 + convertToDouble -1445488709150234E-26 +} 0xbdafc960c59526c7 +test expr-28.1002 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +55824717499885172 E27 x 1406b0cd17fd56_1000000000000000000000000000000000000000000000000000000001& E145 + convertToDouble +55824717499885172E27 +} 0x490406b0cd17fd57 +test expr-28.1003 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -69780896874856465 E26 x -1406b0cd17fd56_1000000000000000000000000000000000000000000000000000000001& E142 + convertToDouble -69780896874856465E26 +} 0xc8d406b0cd17fd57 +test expr-28.1004 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +84161538867545199 E25 x 13529217bdce6c_10000000000000000000000000000000000000000000000000000000001& E139 + convertToDouble +84161538867545199E25 +} 0x48a3529217bdce6d +test expr-28.1005 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -27912358749942586 E27 x -1406b0cd17fd56_1000000000000000000000000000000000000000000000000000000001& E144 + convertToDouble -27912358749942586E27 +} 0xc8f406b0cd17fd57 +test expr-28.1006 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +24711112462926331 E-25 x 153a07f6040d22_100000000000000000000000000000000000000000000000000000001& E-29 + convertToDouble +24711112462926331E-25 +} 0x3e253a07f6040d23 +test expr-28.1007 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -12645224606256038 E-27 x -1bcea0ec21e250_1000000000000000000000000000000000000000000000000000001& E-37 + convertToDouble -12645224606256038E-27 +} 0xbdabcea0ec21e251 +test expr-28.1008 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -12249136637046226 E-25 x -150b3a2e0aff14_1000000000000000000000000000000000000000000000000000001& E-30 + convertToDouble -12249136637046226E-25 +} 0xbe150b3a2e0aff15 +test expr-28.1009 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +74874448287465757 E27 x 1adc21d1d50b09_01111111111111111111111111111111111111111111111111111110& E145 + convertToDouble +74874448287465757E27 +} 0x490adc21d1d50b09 +test expr-28.1010 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -35642836832753303 E24 x -1a2fac2b421f53_0111111111111111111111111111111111111111111111111111110& E134 + convertToDouble -35642836832753303E24 +} 0xc85a2fac2b421f53 +test expr-28.1011 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -71285673665506606 E24 x -1a2fac2b421f53_0111111111111111111111111111111111111111111111111111110& E135 + convertToDouble -71285673665506606E24 +} 0xc86a2fac2b421f53 +test expr-28.1012 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +43723334984997307 E-26 x 1e0be3f392c549_01111111111111111111111111111111111111111111111111111110& E-32 + convertToDouble +43723334984997307E-26 +} 0x3dfe0be3f392c549 +test expr-28.1013 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN +10182419849537963 E-24 x 15ddd831ebbe53_011111111111111111111111111111111111111111111111111110& E-27 + convertToDouble +10182419849537963E-24 +} 0x3e45ddd831ebbe53 +test expr-28.1014 {input floating-point conversion} {ieeeFloatingPoint} { + # Ad2b dieee UN -93501703572661982 E-26 x -10103f97ea6e13_0111111111111111111111111111111111111111111111111110& E-30 + convertToDouble -93501703572661982E-26 +} 0xbe10103f97ea6e13 + +test expr-29.1 {smallest representible number} {ieeeFloatingPoint} { + list [catch {convertToDouble 4.9406564584124654e-324} result] \ + $result \ + [catch {convertToDouble 2.4703282292062327e-324} result] \ + $result \ + [catch {convertToDouble 2.47032822920623e-324} result] \ + $result +} {0 0x0000000000000001 0 0x0000000000000001 0 0x0000000000000000} +test expr-29.2 {smallest representible number} {ieeeFloatingPoint} { + list [catch {convertToDouble -4.9406564584124654e-324} result] \ + $result \ + [catch {convertToDouble -2.4703282292062327e-324} result] \ + $result \ + [catch {convertToDouble -2.47032822920623e-324} result] \ + $result +} {0 0x8000000000000001 0 0x8000000000000001 0 0x8000000000000000} +test expr-29.3 {silent underflow on input conversion} {ieeeFloatingPoint} { + set v ? + list [scan 2.47032822920623e-324 %g v] $v +} {1 0.0} +test expr-29.4 {silent underflow on input conversion} {ieeeFloatingPoint} { + set v ? + list [scan -2.47032822920623e-324 %g v] $v +} {1 -0.0} + +test expr-30.1 {largest representible number} {ieeeFloatingPoint} { + list [catch {convertToDouble 1.7976931348623155e+308} result] \ + $result \ + [catch {convertToDouble 1.7976931348623157e+308} result] \ + $result \ + [catch {convertToDouble 1.7976931348623159e+308} result] \ + $result +} {0 0x7feffffffffffffe 0 0x7fefffffffffffff 0 0x7ff0000000000000} +test expr-30.2 {largest representible number} {ieeeFloatingPoint} { + list [catch {convertToDouble -1.7976931348623155e+308} result] \ + $result \ + [catch {convertToDouble -1.7976931348623157e+308} result] \ + $result \ + [catch {convertToDouble -1.7976931348623159e+308} result] \ + $result +} {0 0xffeffffffffffffe 0 0xffefffffffffffff 0 0xfff0000000000000} +test expr-30.3 {silent overflow on input conversion} {ieeeFloatingPoint} { + set v ? + list [scan 1.7976931348623159e+308 %f v] $v +} {1 Inf} +test expr-30.4 {silent overflow on input conversion} {ieeeFloatingPoint} { + set v ? + list [scan -1.7976931348623159e+308 %f v] $v +} {1 -Inf} + +# bool() tests (TIP #182) +set i 0 +foreach s {yes true on} { + test expr-31.$i.0 {boolean conversion} {expr bool($s)} 1 + test expr-31.$i.1 {boolean conversion} {expr bool(!$s)} 0 + test expr-31.$i.2 {boolean conversion} {expr bool("$s")} 1 + test expr-31.$i.3 {boolean conversion} {expr bool(!"$s")} 0 + set j 1 + while {$j < [string length $s]-1} { + test expr-31.$i.4.$j {boolean conversion} { + expr bool([string range $s 0 $j]) + } 1 + test expr-31.$i.5.$j {boolean conversion} { + expr bool("[string range $s 0 $j]") + } 1 + incr j + } + incr i +} +test expr-31.0.4.0 {boolean conversion} {expr bool(y)} 1 +test expr-31.0.5.0 {boolean conversion} {expr bool("y")} 1 +test expr-31.1.4.0 {boolean conversion} {expr bool(t)} 1 +test expr-31.1.5.0 {boolean conversion} {expr bool("t")} 1 +test expr-31.2.4.0 {boolean conversion} -body { + expr bool(o) +} -returnCodes error -match glob -result * +test expr-31.2.5.0 {boolean conversion} -body { + expr bool("o") +} -returnCodes error -match glob -result * +foreach s {no false off} { + test expr-31.$i.0 {boolean conversion} {expr bool($s)} 0 + test expr-31.$i.1 {boolean conversion} {expr bool(!$s)} 1 + test expr-31.$i.2 {boolean conversion} {expr bool("$s")} 0 + test expr-31.$i.3 {boolean conversion} {expr bool(!"$s")} 1 + set j 1 + while {$j < [string length $s]-1} { + test expr-31.$i.4.$j {boolean conversion} { + expr bool([string range $s 0 $j]) + } 0 + test expr-31.$i.5.$j {boolean conversion} { + expr bool("[string range $s 0 $j]") + } 0 + incr j + } + incr i +} +test expr-31.3.4.0 {boolean conversion} {expr bool(n)} 0 +test expr-31.3.5.0 {boolean conversion} {expr bool("n")} 0 +test expr-31.4.4.0 {boolean conversion} {expr bool(f)} 0 +test expr-31.4.5.0 {boolean conversion} {expr bool("f")} 0 +test expr-31.6 {boolean conversion} {expr bool(-1 + 1)} 0 +test expr-31.7 {boolean conversion} {expr bool(0 + 1)} 1 +test expr-31.8 {boolean conversion} {expr bool(0.0)} 0 +test expr-31.9 {boolean conversion} {expr bool(0x0)} 0 +test expr-31.10 {boolean conversion} {expr bool(wide(0))} 0 +test expr-31.11 {boolean conversion} {expr bool(5.0)} 1 +test expr-31.12 {boolean conversion} {expr bool(5)} 1 +test expr-31.13 {boolean conversion} {expr bool(0x5)} 1 +test expr-31.14 {boolean conversion} {expr bool(wide(5))} 1 +test expr-31.15 {boolean conversion} -body { + expr bool("fred") +} -returnCodes error -match glob -result * + +test expr-32.1 {expr mod basics} { + set mod_nums [list \ + {-3 1} {-3 2} {-3 3} {-3 4} {-3 5} \ + {-3 -1} {-3 -2} {-3 -3} {-3 -4} {-3 -5} \ + {-2 1} {-2 2} {-2 3} {-2 4} {-2 5} \ + {-2 -1} {-2 -2} {-2 -3} {-2 -4} {-2 -5} \ + {-1 1} {-1 2} {-1 3} {-1 4} {-1 5} \ + {-1 -1} {-1 -2} {-1 -3} {-1 -4} {-1 -5} \ + {0 -100} {0 -1} {0 1} {0 100} \ + {1 1} {1 2} {1 3} {1 4} {1 5} \ + {1 -1} {1 -2} {1 -3} {1 -4} {1 -5} \ + {2 1} {2 2} {2 3} {2 4} {2 5} \ + {2 -1} {2 -2} {2 -3} {2 -4} {2 -5} \ + {3 1} {3 2} {3 3} {3 4} {3 5} \ + {3 -1} {3 -2} {3 -3} {3 -4} {3 -5} \ + ] + set results [list] + foreach pair $mod_nums { + set dividend [lindex $pair 0] + set divisor [lindex $pair 1] + lappend results [expr {$dividend % $divisor}] + } + set results +} [list \ + 0 1 0 1 2 \ + 0 -1 0 -3 -3 \ + 0 0 1 2 3 \ + 0 0 -2 -2 -2 \ + 0 1 2 3 4 \ + 0 -1 -1 -1 -1 \ + 0 0 0 0 \ + 0 1 1 1 1 \ + 0 -1 -2 -3 -4 \ + 0 0 2 2 2 \ + 0 0 -1 -2 -3 \ + 0 1 0 3 3 \ + 0 -1 0 -1 -2 \ + ] + +test expr-32.2 {expr div basics} { + set mod_nums [list \ + {-3 1} {-3 2} {-3 3} {-3 4} {-3 5} \ + {-3 -1} {-3 -2} {-3 -3} {-3 -4} {-3 -5} \ + {-2 1} {-2 2} {-2 3} {-2 4} {-2 5} \ + {-2 -1} {-2 -2} {-2 -3} {-2 -4} {-2 -5} \ + {-1 1} {-1 2} {-1 3} {-1 4} {-1 5} \ + {-1 -1} {-1 -2} {-1 -3} {-1 -4} {-1 -5} \ + {0 -100} {0 -1} {0 1} {0 100} \ + {1 1} {1 2} {1 3} {1 4} {1 5} \ + {1 -1} {1 -2} {1 -3} {1 -4} {1 -5} \ + {2 1} {2 2} {2 3} {2 4} {2 5} \ + {2 -1} {2 -2} {2 -3} {2 -4} {2 -5} \ + {3 1} {3 2} {3 3} {3 4} {3 5} \ + {3 -1} {3 -2} {3 -3} {3 -4} {3 -5} \ + ] + set results [list] + foreach pair $mod_nums { + set dividend [lindex $pair 0] + set divisor [lindex $pair 1] + lappend results [expr {$dividend / $divisor}] + } + set results +} [list \ + -3 -2 -1 -1 -1 \ + 3 1 1 0 0 \ + -2 -1 -1 -1 -1 \ + 2 1 0 0 0 \ + -1 -1 -1 -1 -1 \ + 1 0 0 0 0 \ + 0 0 0 0 \ + 1 0 0 0 0 \ + -1 -1 -1 -1 -1 \ + 2 1 0 0 0 \ + -2 -1 -1 -1 -1 \ + 3 1 1 0 0 \ + -3 -2 -1 -1 -1 \ + ] + +test expr-32.3 {Bug 1585704} { + expr 1%(1<<63) +} 1 +test expr-32.4 {Bug 1585704} { + expr -1%(1<<63) +} [expr (1<<63)-1] +test expr-32.5 {Bug 1585704} { + expr (1<<32)%(1<<63) +} [expr 1<<32] +test expr-32.6 {Bug 1585704} { + expr -(1<<32)%(1<<63) +} [expr (1<<63)-(1<<32)] +test expr-32.7 {bignum regression} { + expr {0%(1<<63)} +} 0 +test expr-32.8 {bignum regression} { + expr {0%-(1<<63)} +} 0 +test expr-32.9 {bignum regression} { + expr {0%-(1+(1<<63))} +} 0 + +test expr-33.1 {parse largest long value} longIs32bit { + set max_long_str 2147483647 + set max_long_hex "0x7FFFFFFF " + + # Convert to integer (long, not wide) internal rep + set max_long 2147483647 + string is integer $max_long + + list \ + [expr {" $max_long_str "}] \ + [expr {$max_long_str + 0}] \ + [expr {$max_long + 0}] \ + [expr {2147483647 + 0}] \ + [expr {$max_long == $max_long_hex}] \ + [expr {int(2147483647 + 1) < 0}] \ + +} {2147483647 2147483647 2147483647 2147483647 1 1} +test expr-33.2 {parse smallest long value} longIs32bit { + set min_long_str -2147483648 + set min_long_hex "-0x80000000 " + + set min_long -2147483648 + # This will convert to integer (not wide) internal rep + string is integer $min_long + + # Note: If the final expression returns 0 then the + # expression literal is being promoted to a wide type + # when it should be parsed as a long type. + list \ + [expr {" $min_long_str "}] \ + [expr {$min_long_str + 0}] \ + [expr {$min_long + 0}] \ + [expr {-2147483648 + 0}] \ + [expr {$min_long == $min_long_hex}] \ + [expr {int(-2147483648 - 1) == 0x7FFFFFFF}] \ + +} {-2147483648 -2147483648 -2147483648 -2147483648 1 1} +test expr-33.3 {parse largest wide value} wideIs64bit { + set max_wide_str 9223372036854775807 + set max_wide_hex "0x7FFFFFFFFFFFFFFF " + + # Convert to wide integer + set max_wide 9223372036854775807 + string is integer $max_wide + + list \ + [expr {" $max_wide_str "}] \ + [expr {$max_wide_str + 0}] \ + [expr {$max_wide + 0}] \ + [expr {9223372036854775807 + 0}] \ + [expr {$max_wide == $max_wide_hex}] \ + [expr {wide(9223372036854775807 + 1) < 0}] \ + +} {9223372036854775807 9223372036854775807 9223372036854775807 9223372036854775807 1 1} +test expr-33.4 {parse smallest wide value} wideIs64bit { + set min_wide_str -9223372036854775808 + set min_wide_hex "-0x8000000000000000 " + + set min_wide -9223372036854775808 + # Convert to wide integer + string is integer $min_wide + + # Note: If the final expression returns 0 then the + # wide integer is not being parsed correctly with + # the leading - sign. + list \ + [expr {" $min_wide_str "}] \ + [expr {$min_wide_str + 0}] \ + [expr {$min_wide + 0}] \ + [expr {-9223372036854775808 + 0}] \ + [expr {$min_wide == $min_wide_hex}] \ + [expr {wide(-9223372036854775808 - 1) == 0x7FFFFFFFFFFFFFFF}] \ + +} {-9223372036854775808 -9223372036854775808 -9223372036854775808 -9223372036854775808 1 1} + +set min -2147483648 +set max 2147483647 + +test expr-34.1 {expr edge cases} { + expr {$min / $min} +} {1} +test expr-34.2 {expr edge cases} { + expr {$min % $min} +} {0} +test expr-34.3 {expr edge cases} { + expr {$min / ($min + 1)} +} {1} +test expr-34.4 {expr edge cases} { + expr {$min % ($min + 1)} +} {-1} +test expr-34.5 {expr edge cases} { + expr {$min / ($min + 2)} +} {1} +test expr-34.6 {expr edge cases} { + expr {$min % ($min + 2)} +} {-2} +test expr-34.7 {expr edge cases} { + expr {$min / ($min + 3)} +} {1} +test expr-34.8 {expr edge cases} { + expr {$min % ($min + 3)} +} {-3} +test expr-34.9 {expr edge cases} { + expr {$min / -3} +} {715827882} +test expr-34.10 {expr edge cases} { + expr {$min % -3} +} {-2} +test expr-34.11 {expr edge cases} { + expr {$min / -2} +} {1073741824} +test expr-34.12 {expr edge cases} { + expr {$min % -2} +} {0} +test expr-34.13 {expr edge cases} longIs32bit { + expr {int($min / -1)} +} {-2147483648} +test expr-34.14 {expr edge cases} { + expr {$min % -1} +} {0} +test expr-34.15 {expr edge cases} longIs32bit { + expr {int($min * -1)} +} $min +test expr-34.16 {expr edge cases} longIs32bit { + expr {int(-$min)} +} $min +test expr-34.17 {expr edge cases} { + expr {$min / 1} +} $min +test expr-34.18 {expr edge cases} { + expr {$min % 1} +} {0} +test expr-34.19 {expr edge cases} { + expr {$min / 2} +} {-1073741824} +test expr-34.20 {expr edge cases} { + expr {$min % 2} +} {0} +test expr-34.21 {expr edge cases} { + expr {$min / 3} +} {-715827883} +test expr-34.22 {expr edge cases} { + expr {$min % 3} +} {1} +test expr-34.23 {expr edge cases} { + expr {$min / ($max - 3)} +} {-2} +test expr-34.24 {expr edge cases} { + expr {$min % ($max - 3)} +} {2147483640} +test expr-34.25 {expr edge cases} { + expr {$min / ($max - 2)} +} {-2} +test expr-34.26 {expr edge cases} { + expr {$min % ($max - 2)} +} {2147483642} +test expr-34.27 {expr edge cases} { + expr {$min / ($max - 1)} +} {-2} +test expr-34.28 {expr edge cases} { + expr {$min % ($max - 1)} +} {2147483644} +test expr-34.29 {expr edge cases} { + expr {$min / $max} +} {-2} +test expr-34.30 {expr edge cases} { + expr {$min % $max} +} {2147483646} +test expr-34.31 {expr edge cases} { + expr {$max / $max} +} {1} +test expr-34.32 {expr edge cases} { + expr {$max % $max} +} {0} +test expr-34.33 {expr edge cases} { + expr {$max / ($max - 1)} +} {1} +test expr-34.34 {expr edge cases} { + expr {$max % ($max - 1)} +} {1} +test expr-34.35 {expr edge cases} { + expr {$max / ($max - 2)} +} {1} +test expr-34.36 {expr edge cases} { + expr {$max % ($max - 2)} +} {2} +test expr-34.37 {expr edge cases} { + expr {$max / ($max - 3)} +} {1} +test expr-34.38 {expr edge cases} { + expr {$max % ($max - 3)} +} {3} +test expr-34.39 {expr edge cases} { + expr {$max / 3} +} {715827882} +test expr-34.40 {expr edge cases} { + expr {$max % 3} +} {1} +test expr-34.41 {expr edge cases} { + expr {$max / 2} +} {1073741823} +test expr-34.42 {expr edge cases} { + expr {$max % 2} +} {1} +test expr-34.43 {expr edge cases} { + expr {$max / 1} +} $max +test expr-34.44 {expr edge cases} { + expr {$max % 1} +} {0} +test expr-34.45 {expr edge cases} { + expr {$max / -1} +} "-$max" +test expr-34.46 {expr edge cases} { + expr {$max % -1} +} {0} +test expr-34.47 {expr edge cases} { + expr {$max / -2} +} {-1073741824} +test expr-34.48 {expr edge cases} { + expr {$max % -2} +} {-1} +test expr-34.49 {expr edge cases} { + expr {$max / -3} +} {-715827883} +test expr-34.50 {expr edge cases} { + expr {$max % -3} +} {-2} +test expr-34.51 {expr edge cases} { + expr {$max / ($min + 3)} +} {-2} +test expr-34.52 {expr edge cases} { + expr {$max % ($min + 3)} +} {-2147483643} +test expr-34.53 {expr edge cases} { + expr {$max / ($min + 2)} +} {-2} +test expr-34.54 {expr edge cases} { + expr {$max % ($min + 2)} +} {-2147483645} +test expr-34.55 {expr edge cases} { + expr {$max / ($min + 1)} +} {-1} +test expr-34.56 {expr edge cases} { + expr {$max % ($min + 1)} +} {0} +test expr-34.57 {expr edge cases} { + expr {$max / $min} +} {-1} +test expr-34.58 {expr edge cases} { + expr {$max % $min} +} {-1} +test expr-34.59 {expr edge cases} { + expr {($min + 1) / ($max - 1)} +} {-2} +test expr-34.60 {expr edge cases} { + expr {($min + 1) % ($max - 1)} +} {2147483645} +test expr-34.61 {expr edge cases} { + expr {($max - 1) / ($min + 1)} +} {-1} +test expr-34.62 {expr edge cases} { + expr {($max - 1) % ($min + 1)} +} {-1} +test expr-34.63 {expr edge cases} { + expr {($max - 1) / $min} +} {-1} +test expr-34.64 {expr edge cases} { + expr {($max - 1) % $min} +} {-2} +test expr-34.65 {expr edge cases} { + expr {($max - 2) / $min} +} {-1} +test expr-34.66 {expr edge cases} { + expr {($max - 2) % $min} +} {-3} +test expr-34.67 {expr edge cases} { + expr {($max - 3) / $min} +} {-1} +test expr-34.68 {expr edge cases} { + expr {($max - 3) % $min} +} {-4} +test expr-34.69 {expr edge cases} { + expr {-3 / $min} +} {0} +test expr-34.70 {expr edge cases} { + expr {-3 % $min} +} {-3} +test expr-34.71 {expr edge cases} { + expr {-2 / $min} +} {0} +test expr-34.72 {expr edge cases} { + expr {-2 % $min} +} {-2} +test expr-34.73 {expr edge cases} { + expr {-1 / $min} +} {0} +test expr-34.74 {expr edge cases} { + expr {-1 % $min} +} {-1} +test expr-34.75 {expr edge cases} { + expr {0 / $min} +} {0} +test expr-34.76 {expr edge cases} { + expr {0 % $min} +} {0} +test expr-34.77 {expr edge cases} { + expr {0 / ($min + 1)} +} {0} +test expr-34.78 {expr edge cases} { + expr {0 % ($min + 1)} +} {0} +test expr-34.79 {expr edge cases} { + expr {1 / $min} +} {-1} +test expr-34.80 {expr edge cases} { + expr {1 % $min} +} {-2147483647} +test expr-34.81 {expr edge cases} { + expr {1 / ($min + 1)} +} {-1} +test expr-34.82 {expr edge cases} { + expr {1 % ($min + 1)} +} {-2147483646} +test expr-34.83 {expr edge cases} { + expr {2 / $min} +} {-1} +test expr-34.84 {expr edge cases} { + expr {2 % $min} +} {-2147483646} +test expr-34.85 {expr edge cases} { + expr {2 / ($min + 1)} +} {-1} +test expr-34.86 {expr edge cases} { + expr {2 % ($min + 1)} +} {-2147483645} +test expr-34.87 {expr edge cases} { + expr {3 / $min} +} {-1} +test expr-34.88 {expr edge cases} { + expr {3 % $min} +} {-2147483645} +test expr-34.89 {expr edge cases} { + expr {3 / ($min + 1)} +} {-1} +test expr-34.90 {expr edge cases} { + expr {3 % ($min + 1)} +} {-2147483644} + +# Euclidean property: +# quotient * divisor + remainder = dividend + +test expr-35.1 {expr edge cases} { + set dividend $max + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($divisor * $q) + $r}] +} {1073741823 * 2 + 1 = 2147483647} +test expr-35.2 {expr edge cases} { + set dividend [expr {$max - 1}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1073741823 * 2 + 0 = 2147483646} +test expr-35.3 {expr edge cases} { + set dividend [expr {$max - 2}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1073741822 * 2 + 1 = 2147483645} +test expr-35.4 {expr edge cases} { + set dividend $max + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {715827882 * 3 + 1 = 2147483647} +test expr-35.5 {expr edge cases} { + set dividend [expr {$max - 1}] + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {715827882 * 3 + 0 = 2147483646} +test expr-35.6 {expr edge cases} { + set dividend [expr {$max - 2}] + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {715827881 * 3 + 2 = 2147483645} +test expr-35.7 {expr edge cases} { + set dividend $min + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-1073741824 * 2 + 0 = -2147483648} +test expr-35.8 {expr edge cases} { + set dividend [expr {$min + 1}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-1073741824 * 2 + 1 = -2147483647} +test expr-35.9 {expr edge cases} { + set dividend [expr {$min + 2}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-1073741823 * 2 + 0 = -2147483646} +test expr-35.10 {expr edge cases} { + # Two things could happen here. The multiplication + # could overflow a 32 bit type, so that when + # 1 is added it overflows again back to min. + # The multiplication could also use a wide type + # to hold ($min - 1) until 1 is added and + # the number becomes $min again. + set dividend $min + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-715827883 * 3 + 1 = -2147483648} +test expr-35.11 {expr edge cases} { + set dividend $min + set divisor -3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {715827882 * -3 + -2 = -2147483648} +test expr-35.12 {expr edge cases} { + set dividend $min + set divisor $min + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -2147483648 + 0 = -2147483648} +test expr-35.13 {expr edge cases} { + set dividend $min + set divisor [expr {$min + 1}] + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -2147483647 + -1 = -2147483648} +test expr-35.14 {expr edge cases} { + set dividend $min + set divisor [expr {$min + 2}] + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -2147483646 + -2 = -2147483648} + +# 64bit wide integer checks + +set min -9223372036854775808 +set max 9223372036854775807 + +test expr-36.1 {expr edge cases} {wideIs64bit} { + expr {$min / $min} +} {1} +test expr-36.2 {expr edge cases} {wideIs64bit} { + expr {$min % $min} +} {0} +test expr-36.3 {expr edge cases} {wideIs64bit} { + expr {$min / ($min + 1)} +} {1} +test expr-36.4 {expr edge cases} {wideIs64bit} { + expr {$min % ($min + 1)} +} {-1} +test expr-36.5 {expr edge cases} {wideIs64bit} { + expr {$min / ($min + 2)} +} {1} +test expr-36.6 {expr edge cases} {wideIs64bit} { + expr {$min % ($min + 2)} +} {-2} +test expr-36.7 {expr edge cases} {wideIs64bit} { + expr {$min / ($min + 3)} +} {1} +test expr-36.8 {expr edge cases} {wideIs64bit} { + expr {$min % ($min + 3)} +} {-3} +test expr-36.9 {expr edge cases} {wideIs64bit} { + expr {$min / -3} +} {3074457345618258602} +test expr-36.10 {expr edge cases} {wideIs64bit} { + expr {$min % -3} +} {-2} +test expr-36.11 {expr edge cases} {wideIs64bit} { + expr {$min / -2} +} {4611686018427387904} +test expr-36.12 {expr edge cases} {wideIs64bit} { + expr {$min % -2} +} {0} +test expr-36.13 {expr edge cases} wideIs64bit { + expr {wide($min / -1)} +} $min +test expr-36.14 {expr edge cases} {wideIs64bit} { + expr {$min % -1} +} {0} +test expr-36.15 {expr edge cases} wideIs64bit { + expr {wide($min * -1)} +} $min +test expr-36.16 {expr edge cases} wideIs64bit { + expr {wide(-$min)} +} $min +test expr-36.17 {expr edge cases} {wideIs64bit} { + expr {$min / 1} +} $min +test expr-36.18 {expr edge cases} {wideIs64bit} { + expr {$min % 1} +} {0} +test expr-36.19 {expr edge cases} {wideIs64bit} { + expr {$min / 2} +} {-4611686018427387904} +test expr-36.20 {expr edge cases} {wideIs64bit} { + expr {$min % 2} +} {0} +test expr-36.21 {expr edge cases} {wideIs64bit} { + expr {$min / 3} +} {-3074457345618258603} +test expr-36.22 {expr edge cases} {wideIs64bit} { + expr {$min % 3} +} {1} +test expr-36.23 {expr edge cases} {wideIs64bit} { + expr {$min / ($max - 3)} +} {-2} +test expr-36.24 {expr edge cases} {wideIs64bit} { + expr {$min % ($max - 3)} +} {9223372036854775800} +test expr-36.25 {expr edge cases} {wideIs64bit} { + expr {$min / ($max - 2)} +} {-2} +test expr-36.26 {expr edge cases} {wideIs64bit} { + expr {$min % ($max - 2)} +} {9223372036854775802} +test expr-36.27 {expr edge cases} {wideIs64bit} { + expr {$min / ($max - 1)} +} {-2} +test expr-36.28 {expr edge cases} {wideIs64bit} { + expr {$min % ($max - 1)} +} {9223372036854775804} +test expr-36.29 {expr edge cases} {wideIs64bit} { + expr {$min / $max} +} {-2} +test expr-36.30 {expr edge cases} {wideIs64bit} { + expr {$min % $max} +} {9223372036854775806} +test expr-36.31 {expr edge cases} {wideIs64bit} { + expr {$max / $max} +} {1} +test expr-36.32 {expr edge cases} {wideIs64bit} { + expr {$max % $max} +} {0} +test expr-36.33 {expr edge cases} {wideIs64bit} { + expr {$max / ($max - 1)} +} {1} +test expr-36.34 {expr edge cases} {wideIs64bit} { + expr {$max % ($max - 1)} +} {1} +test expr-36.35 {expr edge cases} {wideIs64bit} { + expr {$max / ($max - 2)} +} {1} +test expr-36.36 {expr edge cases} {wideIs64bit} { + expr {$max % ($max - 2)} +} {2} +test expr-36.37 {expr edge cases} {wideIs64bit} { + expr {$max / ($max - 3)} +} {1} +test expr-36.38 {expr edge cases} {wideIs64bit} { + expr {$max % ($max - 3)} +} {3} +test expr-36.39 {expr edge cases} {wideIs64bit} { + expr {$max / 3} +} {3074457345618258602} +test expr-36.40 {expr edge cases} {wideIs64bit} { + expr {$max % 3} +} {1} +test expr-36.41 {expr edge cases} {wideIs64bit} { + expr {$max / 2} +} {4611686018427387903} +test expr-36.42 {expr edge cases} {wideIs64bit} { + expr {$max % 2} +} {1} +test expr-36.43 {expr edge cases} {wideIs64bit} { + expr {$max / 1} +} $max +test expr-36.44 {expr edge cases} {wideIs64bit} { + expr {$max % 1} +} {0} +test expr-36.45 {expr edge cases} {wideIs64bit} { + expr {$max / -1} +} "-$max" +test expr-36.46 {expr edge cases} {wideIs64bit} { + expr {$max % -1} +} {0} +test expr-36.47 {expr edge cases} {wideIs64bit} { + expr {$max / -2} +} {-4611686018427387904} +test expr-36.48 {expr edge cases} {wideIs64bit} { + expr {$max % -2} +} {-1} +test expr-36.49 {expr edge cases} {wideIs64bit} { + expr {$max / -3} +} {-3074457345618258603} +test expr-36.50 {expr edge cases} {wideIs64bit} { + expr {$max % -3} +} {-2} +test expr-36.51 {expr edge cases} {wideIs64bit} { + expr {$max / ($min + 3)} +} {-2} +test expr-36.52 {expr edge cases} {wideIs64bit} { + expr {$max % ($min + 3)} +} {-9223372036854775803} +test expr-36.53 {expr edge cases} {wideIs64bit} { + expr {$max / ($min + 2)} +} {-2} +test expr-36.54 {expr edge cases} {wideIs64bit} { + expr {$max % ($min + 2)} +} {-9223372036854775805} +test expr-36.55 {expr edge cases} {wideIs64bit} { + expr {$max / ($min + 1)} +} {-1} +test expr-36.56 {expr edge cases} {wideIs64bit} { + expr {$max % ($min + 1)} +} {0} +test expr-36.57 {expr edge cases} {wideIs64bit} { + expr {$max / $min} +} {-1} +test expr-36.58 {expr edge cases} {wideIs64bit} { + expr {$max % $min} +} {-1} +test expr-36.59 {expr edge cases} {wideIs64bit} { + expr {($min + 1) / ($max - 1)} +} {-2} +test expr-36.60 {expr edge cases} {wideIs64bit} { + expr {($min + 1) % ($max - 1)} +} {9223372036854775805} +test expr-36.61 {expr edge cases} {wideIs64bit} { + expr {($max - 1) / ($min + 1)} +} {-1} +test expr-36.62 {expr edge cases} {wideIs64bit} { + expr {($max - 1) % ($min + 1)} +} {-1} +test expr-36.63 {expr edge cases} {wideIs64bit} { + expr {($max - 1) / $min} +} {-1} +test expr-36.64 {expr edge cases} {wideIs64bit} { + expr {($max - 1) % $min} +} {-2} +test expr-36.65 {expr edge cases} {wideIs64bit} { + expr {($max - 2) / $min} +} {-1} +test expr-36.66 {expr edge cases} {wideIs64bit} { + expr {($max - 2) % $min} +} {-3} +test expr-36.67 {expr edge cases} {wideIs64bit} { + expr {($max - 3) / $min} +} {-1} +test expr-36.68 {expr edge cases} {wideIs64bit} { + expr {($max - 3) % $min} +} {-4} +test expr-36.69 {expr edge cases} {wideIs64bit} { + expr {-3 / $min} +} {0} +test expr-36.70 {expr edge cases} {wideIs64bit} { + expr {-3 % $min} +} {-3} +test expr-36.71 {expr edge cases} {wideIs64bit} { + expr {-2 / $min} +} {0} +test expr-36.72 {expr edge cases} {wideIs64bit} { + expr {-2 % $min} +} {-2} +test expr-36.73 {expr edge cases} {wideIs64bit} { + expr {-1 / $min} +} {0} +test expr-36.74 {expr edge cases} {wideIs64bit} { + expr {-1 % $min} +} {-1} +test expr-36.75 {expr edge cases} {wideIs64bit} { + expr {0 / $min} +} {0} +test expr-36.76 {expr edge cases} {wideIs64bit} { + expr {0 % $min} +} {0} +test expr-36.77 {expr edge cases} {wideIs64bit} { + expr {0 / ($min + 1)} +} {0} +test expr-36.78 {expr edge cases} {wideIs64bit} { + expr {0 % ($min + 1)} +} {0} +test expr-36.79 {expr edge cases} {wideIs64bit} { + expr {1 / $min} +} {-1} +test expr-36.80 {expr edge cases} {wideIs64bit} { + expr {1 % $min} +} {-9223372036854775807} +test expr-36.81 {expr edge cases} {wideIs64bit} { + expr {1 / ($min + 1)} +} {-1} +test expr-36.82 {expr edge cases} {wideIs64bit} { + expr {1 % ($min + 1)} +} {-9223372036854775806} +test expr-36.83 {expr edge cases} {wideIs64bit} { + expr {2 / $min} +} {-1} +test expr-36.84 {expr edge cases} {wideIs64bit} { + expr {2 % $min} +} {-9223372036854775806} +test expr-36.85 {expr edge cases} {wideIs64bit} { + expr {2 / ($min + 1)} +} {-1} +test expr-36.86 {expr edge cases} {wideIs64bit} { + expr {2 % ($min + 1)} +} {-9223372036854775805} +test expr-36.87 {expr edge cases} {wideIs64bit} { + expr {3 / $min} +} {-1} +test expr-36.88 {expr edge cases} {wideIs64bit} { + expr {3 % $min} +} {-9223372036854775805} +test expr-36.89 {expr edge cases} {wideIs64bit} { + expr {3 / ($min + 1)} +} {-1} +test expr-36.90 {expr edge cases} {wideIs64bit} { + expr {3 % ($min + 1)} +} {-9223372036854775804} + +test expr-37.1 {expr edge cases} {wideIs64bit} { + set dividend $max + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($divisor * $q) + $r}] +} {4611686018427387903 * 2 + 1 = 9223372036854775807} +test expr-37.2 {expr edge cases} {wideIs64bit} { + set dividend [expr {$max - 1}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {4611686018427387903 * 2 + 0 = 9223372036854775806} +test expr-37.3 {expr edge cases} {wideIs64bit} { + set dividend [expr {$max - 2}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {4611686018427387902 * 2 + 1 = 9223372036854775805} +test expr-37.4 {expr edge cases} {wideIs64bit} { + set dividend $max + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {3074457345618258602 * 3 + 1 = 9223372036854775807} +test expr-37.5 {expr edge cases} {wideIs64bit} { + set dividend [expr {$max - 1}] + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {3074457345618258602 * 3 + 0 = 9223372036854775806} +test expr-37.6 {expr edge cases} {wideIs64bit} { + set dividend [expr {$max - 2}] + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {3074457345618258601 * 3 + 2 = 9223372036854775805} +test expr-37.7 {expr edge cases} {wideIs64bit} { + set dividend $min + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-4611686018427387904 * 2 + 0 = -9223372036854775808} +test expr-37.8 {expr edge cases} {wideIs64bit} { + set dividend [expr {$min + 1}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-4611686018427387904 * 2 + 1 = -9223372036854775807} +test expr-37.9 {expr edge cases} {wideIs64bit} { + set dividend [expr {$min + 2}] + set divisor 2 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-4611686018427387903 * 2 + 0 = -9223372036854775806} +test expr-37.10 {expr edge cases} {wideIs64bit} { + # Multiplication overflows 64 bit type here, + # so when the 1 is added it overflows + # again and we end up back at min. + set dividend $min + set divisor 3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {-3074457345618258603 * 3 + 1 = -9223372036854775808} +test expr-37.11 {expr edge cases} {wideIs64bit} { + set dividend $min + set divisor -3 + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {3074457345618258602 * -3 + -2 = -9223372036854775808} +test expr-37.12 {expr edge cases} {wideIs64bit} { + set dividend $min + set divisor $min + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -9223372036854775808 + 0 = -9223372036854775808} +test expr-37.13 {expr edge cases} {wideIs64bit} { + set dividend $min + set divisor [expr {$min + 1}] + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -9223372036854775807 + -1 = -9223372036854775808} +test expr-37.14 {expr edge cases} {wideIs64bit} { + set dividend $min + set divisor [expr {$min + 2}] + set q [expr {$dividend / $divisor}] + set r [expr {$dividend % $divisor}] + list $q * $divisor + $r = [expr {($q * $divisor) + $r}] +} {1 * -9223372036854775806 + -2 = -9223372036854775808} + +test expr-38.1 {abs of smallest 32-bit integer [Bug 1241572]} {wideIs64bit} { + expr {abs(-2147483648)} +} 2147483648 +test expr-38.2 {abs and -0 [Bug 1893815]} { + expr {abs(-0)} +} 0 +test expr-38.3 {abs and -0 [Bug 1893815]} { + expr {abs(-0.0)} +} 0.0 +test expr-38.4 {abs and -0 [Bug 1893815]} { + expr {abs(-1e-324)} +} 0.0 +test expr-38.5 {abs and -0 [Bug 1893815]} { + ::tcl::mathfunc::abs -0 +} 0 +test expr-38.6 {abs and -0 [Bug 1893815]} { + ::tcl::mathfunc::abs -0.0 +} 0.0 +test expr-38.7 {abs and -0 [Bug 1893815]} { + ::tcl::mathfunc::abs -1e-324 +} 0.0 +test expr-38.8 {abs and 0.0 [Bug 2954959]} { + ::tcl::mathfunc::abs 0.0 +} 0.0 +test expr-38.9 {abs and 0.0 [Bug 2954959]} { + expr {abs(0.0)} +} 0.0 +test expr-38.10 {abs and -0x0 [Bug 2954959]} { + expr {abs(-0x0)} +} 0 +test expr-38.11 {abs and 0x0 [Bug 2954959]} { + ::tcl::mathfunc::abs { 0x0} +} { 0x0} +test expr-38.12 {abs and -0x0 [Bug 2954959]} { + ::tcl::mathfunc::abs { -0x0} +} 0 +test expr-38.13 {abs and 0.0 [Bug 2954959]} { + ::tcl::mathfunc::abs 1e-324 +} 1e-324 + +testConstraint testexprlongobj [llength [info commands testexprlongobj]] +testConstraint testexprdoubleobj [llength [info commands testexprdoubleobj]] + +test expr-39.1 {Check that Tcl_ExprLongObj doesn't modify interpreter result if no error} testexprlongobj { + testexprlongobj 4+1 +} {This is a result: 5} +#Check for [Bug 1109484] +test expr-39.2 {Tcl_ExprLongObj handles wide ints gracefully} testexprlongobj { + testexprlongobj wide(1)+2 +} {This is a result: 3} + +test expr-39.3 {Tcl_ExprLongObj on the empty string} \ + -constraints {testexprlongobj}\ + -body {testexprlongobj ""} \ + -match glob \ + -returnCodes error -result * +test expr-39.4 {Tcl_ExprLongObj coerces doubles} testexprlongobj { + testexprlongobj 3+.14159 +} {This is a result: 3} +test expr-39.5 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj 0x80000000 +} {This is a result: -2147483648} +test expr-39.6 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj 0xffffffff +} {This is a result: -1} +test expr-39.7 {Tcl_ExprLongObj handles overflows} \ + -constraints {testexprlongobj longIs32bit} \ + -match glob \ + -body { + list [catch {testexprlongobj 0x100000000} result] $result + } \ + -result {1 {integer value too large to represent*}} +test expr-39.8 {Tcl_ExprLongObj handles overflows} testexprlongobj { + testexprlongobj -0x80000000 +} {This is a result: -2147483648} +test expr-39.9 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj -0xffffffff +} {This is a result: 1} +test expr-39.10 {Tcl_ExprLongObj handles overflows} \ + -constraints {testexprlongobj longIs32bit} \ + -match glob \ + -body { + list [catch {testexprlongobj -0x100000000} result] $result + } \ + -result {1 {integer value too large to represent*}} +test expr-39.11 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj 2147483648. +} {This is a result: -2147483648} +test expr-39.12 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj 4294967295. +} {This is a result: -1} +test expr-39.13 {Tcl_ExprLongObj handles overflows} \ + -constraints {testexprlongobj longIs32bit} \ + -match glob \ + -body { + list [catch {testexprlongobj 4294967296.} result] $result + } \ + -result {1 {integer value too large to represent*}} +test expr-39.14 {Tcl_ExprLongObj handles overflows} testexprlongobj { + testexprlongobj -2147483648. +} {This is a result: -2147483648} +test expr-39.15 {Tcl_ExprLongObj handles overflows} {testexprlongobj longIs32bit} { + testexprlongobj -4294967295. +} {This is a result: 1} +test expr-39.16 {Tcl_ExprLongObj handles overflows} \ + -constraints {testexprlongobj longIs32bit} \ + -match glob \ + -body { + list [catch {testexprlongobj 4294967296.} result] $result + } \ + -result {1 {integer value too large to represent*}} + +test expr-39.17 {Check that Tcl_ExprDoubleObj doesn't modify interpreter result if no error} testexprdoubleobj { + testexprdoubleobj 4.+1. +} {This is a result: 5.0} +#Check for [Bug 1109484] +test expr-39.18 {Tcl_ExprDoubleObj on the empty string} \ + -constraints {testexprdoubleobj} \ + -match glob \ + -body {testexprdoubleobj ""} \ + -returnCodes error -result * +test expr-39.19 {Tcl_ExprDoubleObj coerces wides} testexprdoubleobj { + testexprdoubleobj 1[string repeat 0 17] +} {This is a result: 1e+17} +test expr-39.20 {Tcl_ExprDoubleObj coerces bignums} testexprdoubleobj { + testexprdoubleobj 1[string repeat 0 38] +} {This is a result: 1e+38} +test expr-39.21 {Tcl_ExprDoubleObj handles overflows} \ + testexprdoubleobj&&ieeeFloatingPoint { + testexprdoubleobj 17976931348623157[string repeat 0 292]. + } {This is a result: 1.7976931348623157e+308} +test expr-39.22 {Tcl_ExprDoubleObj handles overflows that look like int} \ + testexprdoubleobj&&ieeeFloatingPoint { + testexprdoubleobj 17976931348623157[string repeat 0 292] + } {This is a result: 1.7976931348623157e+308} +test expr-39.23 {Tcl_ExprDoubleObj handles overflows} \ + testexprdoubleobj&&ieeeFloatingPoint { + testexprdoubleobj 17976931348623165[string repeat 0 292]. + } {This is a result: Inf} +test expr-39.24 {Tcl_ExprDoubleObj handles overflows that look like int} \ + testexprdoubleobj&&ieeeFloatingPoint { + testexprdoubleobj 17976931348623165[string repeat 0 292] + } {This is a result: Inf} +test expr-39.25 {Tcl_ExprDoubleObj and NaN} \ + {testexprdoubleobj ieeeFloatingPoint} { + list [catch {testexprdoubleobj 0.0/0.0} result] $result + } {1 {domain error: argument not in valid range}} + +test expr-40.1 {large octal shift} { + expr 0o100000000000000000000000000000000 +} [expr 0x1000000000000000000000000] +test expr-40.2 {large octal shift} { + expr 0o100000000000000000000000000000001 +} [expr 0x1000000000000000000000001] + +test expr-41.1 {exponent overflow} { + expr 1.0e2147483630 +} Inf +test expr-41.2 {exponent underflow} { + expr 1.0e-2147483630 +} 0.0 + +test expr-42.1 {denormals} ieeeFloatingPoint { + expr 7e-324 +} 5e-324 + +# TIP 114 + +test expr-43.1 {0b notation} { + expr 0b0 +} 0 +test expr-43.2 {0b notation} { + expr 0b1 +} 1 +test expr-43.3 {0b notation} { + expr 0b10 +} 2 +test expr-43.4 {0b notation} { + expr 0b11 +} 3 +test expr-43.5 {0b notation} { + expr 0b100 +} 4 +test expr-43.6 {0b notation} { + expr 0b101 +} 5 +test expr-43.7 {0b notation} { + expr 0b1000 +} 8 +test expr-43.8 {0b notation} { + expr 0b1001 +} 9 +test expr-43.9 {0b notation} { + expr 0b1[string repeat 0 31] +} 2147483648 +test expr-43.10 {0b notation} { + expr 0b1[string repeat 0 30]1 +} 2147483649 +test expr-43.11 {0b notation} { + expr 0b[string repeat 1 64] +} 18446744073709551615 +test expr-43.12 {0b notation} { + expr 0b1[string repeat 0 64] +} 18446744073709551616 +test expr-43.13 {0b notation} { + expr 0b1[string repeat 0 63]1 +} 18446744073709551617 + +test expr-44.1 {0o notation} { + expr 0o0 +} 0 +test expr-44.2 {0o notation} { + expr 0o1 +} 1 +test expr-44.3 {0o notation} { + expr 0o7 +} 7 +test expr-44.4 {0o notation} { + expr 0o10 +} 8 +test expr-44.5 {0o notation} { + expr 0o11 +} 9 +test expr-44.6 {0o notation} { + expr 0o100 +} 64 +test expr-44.7 {0o notation} { + expr 0o101 +} 65 +test expr-44.8 {0o notation} { + expr 0o1000 +} 512 +test expr-44.9 {0o notation} { + expr 0o1001 +} 513 +test expr-44.10 {0o notation} { + expr 0o1[string repeat 7 21] +} 18446744073709551615 +test expr-44.11 {0o notation} { + expr 0o2[string repeat 0 21] +} 18446744073709551616 +test expr-44.12 {0o notation} { + expr 0o2[string repeat 0 20]1 +} 18446744073709551617 + +# TIP 237 again + +test expr-45.1 {entier} { + expr entier(0) +} 0 +test expr-45.2 {entier} { + expr entier(0.5) +} 0 +test expr-45.3 {entier} { + expr entier(1.0) +} 1 +test expr-45.4 {entier} { + expr entier(1.5) +} 1 +test expr-45.5 {entier} { + expr entier(2.0) +} 2 +test expr-45.6 {entier} { + expr entier(1e+22) +} 10000000000000000000000 +test expr-45.7 {entier} { + list [catch {expr entier(Inf)} result] $result +} {1 {integer value too large to represent}} +test expr-45.8 {entier} ieeeFloatingPoint { + list [catch {expr {entier($ieeeValues(NaN))}} result] $result +} {1 {floating point value is Not a Number}} +test expr-45.9 {entier} ieeeFloatingPoint { + list [catch {expr {entier($ieeeValues(-NaN))}} result] $result +} {1 {floating point value is Not a Number}} + +test expr-46.1 {round() rounds to +-infinity} { + expr round(0.5) +} 1 +test expr-46.2 {round() rounds to +-infinity} { + expr round(1.5) +} 2 +test expr-46.3 {round() rounds to +-infinity} { + expr round(-0.5) +} -1 +test expr-46.4 {round() rounds to +-infinity} { + expr round(-1.5) +} -2 +test expr-46.5 {round() overflow} { + expr round(9.2233720368547758e+018) +} 9223372036854775808 +test expr-46.6 {round() overflow} { + expr round(-9.2233720368547758e+018) +} -9223372036854775808 +test expr-46.7 {round() bad value} -body { + set x trash + expr {round($x)} +} -returnCodes error -match glob -result * +test expr-46.8 {round() already an integer} { + set x 123456789012 + incr x + expr round($x) +} 123456789013 +test expr-46.9 {round() boundary case - 1/2 - 1 ulp} { + set x 0.25 + set bit 0.125 + while 1 { + set newx [expr {$x + $bit}] + if { $newx == $x || $newx == 0.5 } break + set x $newx + set bit [expr { $bit / 2.0 }] + } + expr {round($x)} +} 0 +test expr-46.10 {round() boundary case - 1/2 + 1 ulp} { + set x 0.75 + set bit 0.125 + while 1 { + set newx [expr {$x - $bit}] + if { $newx == $x || $newx == 0.5 } break + set x $newx + set bit [expr { $bit / 2.0 }] + } + expr {round($x)} +} 1 +test expr-46.11 {round() boundary case - -1/2 - 1 ulp} { + set x -0.75 + set bit 0.125 + while 1 { + set newx [expr {$x + $bit}] + if { $newx == $x || $newx == -0.5 } break + set x $newx + set bit [expr { $bit / 2.0 }] + } + expr {round($x)} +} -1 +test expr-46.12 {round() boundary case - -1/2 + 1 ulp} { + set x -0.25 + set bit 0.125 + while 1 { + set newx [expr {$x - $bit}] + if { $newx == $x || $newx == -0.5 } break + set x $newx + set bit [expr { $bit / 2.0 }] + } + expr {round($x)} +} 0 +test expr-46.13 {round() boundary case - round down} { + expr {round(2147483647 - 0.51)} +} 2147483646 + +test expr-46.14 {round() boundary case - round up} { + expr {round(2147483647 - 0.50)} +} 2147483647 + +test expr-46.15 {round() boundary case - round up to wide} { + expr {round(2147483647 + 0.50)} +} [expr {wide(2147483647) + 1}] + +test expr-46.16 {round() boundary case - round up} { + expr {round(-2147483648 + 0.51)} +} -2147483647 + +test expr-46.17 {round() boundary case - round down} { + expr {round(-2147483648 + 0.50)} +} -2147483648 +test expr-46.18 {round() boundary case - round down to wide} { + expr {round(-2147483648 - 0.50)} +} [expr {wide(-2147483648) - 1}] + +test expr-46.19 {round() handling of long/bignum boundary} { + expr {round(double(0x7fffffffffffffff))} +} 9223372036854775808 + +test expr-47.1 {isqrt() - arg count} { + list [catch {expr {isqrt(1,2)}} result] $result +} {1 {too many arguments for math function "isqrt"}} + +test expr-47.2 {isqrt() - non-number} { + list [catch {expr {isqrt({rubbish})}} result] $result +} {1 {expected number but got "rubbish"}} + +test expr-47.3 {isqrt() - NaN} ieeeFloatingPoint { + list [catch {expr {isqrt(NaN)}} result] $result +} {1 {floating point value is Not a Number}} + +test expr-47.4 {isqrt() of negative floating point number} { + list [catch {expr {isqrt(-1.0)}} result] $result +} {1 {square root of negative argument}} + +test expr-47.5 {isqrt() of floating point zero} { + expr isqrt(0.0) +} 0 + +test expr-47.6 {isqrt() of exact floating point numbers} { + set trouble {} + for {set i 0} {$i < 16} {incr i} { + set root [expr {1 << $i}] + set rm1 [expr {$root - 1}] + set arg [expr {pow(2., (2 * $i))}] + if {isqrt($arg-1) != $rm1} { + append trouble "i = " $i ": isqrt( " $arg "-1) != " $rm1 "\n" + } + if {isqrt($arg) != $root} { + append trouble "i = " $i ": isqrt( " $arg ") != " $root "\n" + } + if {isqrt($arg+1) != $root} { + append trouble "i = " $i ": isqrt( " $arg "+1) != " $root "\n" + } + } + set trouble +} {} + +test expr-47.7 {isqrt() of exact floating point numbers} ieeeFloatingPoint { + set trouble {} + for {set i 17} {$i < 27} {incr i} { + set root [expr {1 << $i}] + set rm1 [expr {$root - 1}] + set arg [expr {pow(2., (2 * $i))}] + if {isqrt($arg-1.0) != $rm1} { + append trouble "i = " $i ": isqrt( " $arg "-1) != " $rm1 "\n" + } + if {isqrt($arg) != $root} { + append trouble "i = " $i ": isqrt( " $arg ") != " $root "\n" + } + if {isqrt($arg+1.0) != $root} { + append trouble "i = " $i ": isqrt( " $arg "+1) != " $root "\n" + } + } + set trouble +} {} + +test expr-47.8 {isqrt of inexact floating point number} ieeeFloatingPoint { + expr isqrt(2[string repeat 0 34]) +} 141421356237309504 + +test expr-47.9 {isqrt of negative int} { + list [catch {expr isqrt(-1)} result] $result +} {1 {square root of negative argument}} + +test expr-47.10 {isqrt of negative bignum} { + list [catch {expr isqrt(-1[string repeat 0 1000])} result] $result +} {1 {square root of negative argument}} + +test expr-47.11 {isqrt of zero} { + expr {isqrt(0)} +} 0 + +test expr-47.12 {isqrt of various sizes of integer} { + set faults 0 + set trouble {} + for {set i 0} {$faults < 10 && $i <= 1024} {incr i} { + set root [expr {1 << $i}] + set rm1 [expr {$root - 1}] + set arg [expr {1 << (2 * $i)}] + set tval [expr {isqrt($arg-1)}] + if {$tval != $rm1} { + append trouble "i = " $i ": isqrt(" $arg "-1) == " $tval \ + " != " $rm1 "\n" + incr faults + } + set tval [expr {isqrt($arg)}] + if {$tval != $root} { + append trouble "i = " $i ": isqrt(" $arg ") == " $tval \ + " != " $root "\n" + incr faults + } + set tval [expr {isqrt($arg+1)}] + if {$tval != $root} { + append trouble "i = " $i ": isqrt(" $arg "+1) == " $tval \ + " != " $root "\n" + incr faults + } + } + set trouble +} {} + +test expr-47.13 {isqrt and floating point rounding (Bug 2143288)} { + set trouble {} + set faults 0 + for {set i 0} {$i < 29 && $faults < 10} {incr i} { + for {set j 0} {$j <= $i} {incr j} { + set k [expr {isqrt((1<<56)+(1<<$i)+(1<<$j))}] + if {$k != (1<<28)} { + append trouble "i = $i, j = $j, k = $k\n" + incr faults + } + } + set k [expr {isqrt((1<<56)+(1<<29)+(1<<$i))}] + if {$k != (1<<28)+1} { + append trouble "i = $i, k = $k\n" + incr faults + } + } + set trouble +} {} + +test expr-48.1 {Bug 1770224} { + expr {-0x8000000000000001 >> 0x8000000000000000} +} -1 + +test expr-49.1 {Bug 2823282} { + coroutine foo apply {{} {set expr expr; $expr {[yield]}}} + foo 1 +} 1 + +test expr-50.1 {test sqrt() of bignums with non-Inf answer} { + expr {sqrt("1[string repeat 0 616]") == 1e308} +} 1 + +test expr-51.1 {test round-to-even on input} { + expr 6.9294956446009195e15 +} 6929495644600920.0 + +test expr-52.1 { + comparison with empty string does not generate string representation +} { + set a [list one two three] + list [expr {$a eq {}}] [expr {$a < {}}] [expr {$a > {}}] [ + string match {*no string representation*} [ + ::tcl::unsupported::representation $a]] +} {0 0 1 1} + + + +# cleanup +if {[info exists a]} { + unset a +} +catch {unset min} +catch {unset max} +::tcltest::cleanupTests +return + +# Local Variables: +# mode: tcl +# End: |