summaryrefslogtreecommitdiff
path: root/test/floatx.asm
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-10-22 16:53:48 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-10-22 16:53:48 -0700
commitbea0bbb62c9947421bc0fddcd2b58a40435e2181 (patch)
tree21623213cc08b04a9eb771b2a46bb1e057a1948c /test/floatx.asm
parent3b2ad1bc370653e90d6b2fa9cfc587a7aea405f3 (diff)
downloadnasm-bea0bbb62c9947421bc0fddcd2b58a40435e2181.tar.gz
More consistent handling of radix letters
Allow any radix letter from the set [bydtoqhx] to be used either "Intel-style" (0...x) or "C-style" (0x...). In Intel style, the leading 0 remains optional as long as the first digit is in the range 0-9. As a consequence, allow the prefix "0h" for hexadecimal floating point.
Diffstat (limited to 'test/floatx.asm')
-rw-r--r--test/floatx.asm171
1 files changed, 171 insertions, 0 deletions
diff --git a/test/floatx.asm b/test/floatx.asm
index 22841e6b..127f3535 100644
--- a/test/floatx.asm
+++ b/test/floatx.asm
@@ -179,6 +179,177 @@
; 16-bit
dw 1.0
+ dw 0h1.0
+ dw 2.0
+ dw 0h2.0
+ dw 0h1.0p+1
+ dw 0h1.0p-1
+ dw 0h0.0
+ dw 0h1.23456789
+ dw 0h0.123456789
+ dw 0h0.0000123456789
+ dw 0h1.23456789p10
+ dw 0h1.23456789p+10
+ dw 0h1.23456789p-10
+ dw 0h0.123456789p10
+ dw 0h0.123456789p+10
+ dw 0h0.123456789abcdef0123456789abcdef012345p-10
+ dw 0h0.0000123456789
+ dw 0h0.0000123456789p+10
+ dw 0h0.0000123456789p-10
+ dw 0h1.0p-25 ; Underflow
+ dw 0h1.0p-24 ; Smallest denorm
+ dw 0h1.ffffffffffffffffffffffffffffp-16 ; Rounds to denorm
+ dw 0h1.0p-15 ; Denorm
+ dw 0h1.ffffffffffffffffffffffffffffp-15 ; Rounds to normal
+ dw 0h1.0p-14 ; Smallest non-denorm
+ dw 0h1.0p+15 ; Biggest possible exponent
+ dw 0h1.ffffffffffffffffffffffffffffp+15 ; Rounds to infinity
+ dw Inf ; Infinity
+ dw NaN
+
+; 32-bit
+ dd 1.0
+ dd 0h1.0
+ dd 2.0
+ dd 0h2.0
+ dd 0h1.0p+1
+ dd 0h1.0p-1
+ dd 0h0.0
+ dd 0h1.23456789
+ dd 0h0.123456789
+ dd 0h0.0000123456789
+ dd 0h1.23456789p10
+ dd 0h1.23456789p+10
+ dd 0h1.23456789p-10
+ dd 0h0.123456789p10
+ dd 0h0.123456789p+10
+ dd 0h0.123456789abcdef0123456789abcdef012345p-10
+ dd 0h0.0000123456789
+ dd 0h0.0000123456789p+10
+ dd 0h0.0000123456789p-10
+ dd 0h123456789.0
+ dd 0h0000123456789.0
+ dd 0h123456789.0p+0
+ dd 0h123456789.0p+64
+ dd 0h1.0p-150 ; Underflow
+ dd 0h1.0p-149 ; Smallest denorm
+ dd 0h1.ffffffffffffffffffffffffffffp-128 ; Rounds to denorm
+ dd 0h1.0p-127 ; Denorm
+ dd 0h1.ffffffffffffffffffffffffffffp-127 ; Rounds to normal
+ dd 0h1.0p-126 ; Smallest non-denorm
+ dd 0h1.0p+127 ; Biggest possible exponent
+ dd 0h1.ffffffffffffffffffffffffffffp+127 ; Rounds to infinity
+ dd Inf ; Infinity
+ dd NaN
+
+; 64-bit
+ dq 1.0
+ dq 0h1.0
+ dq 2.0
+ dq 0h2.0
+ dq 0h1.0p+1
+ dq 0h1.0p-1
+ dq 0h0.0
+ dq 0h1.23456789
+ dq 0h0.123456789
+ dq 0h0.0000123456789
+ dq 0h1.23456789p10
+ dq 0h1.23456789p+10
+ dq 0h1.23456789p-10
+ dq 0h0.123456789p10
+ dq 0h0.123456789p+10
+ dq 0h0.123456789abcdef0123456789abcdef012345p-10
+ dq 0h0.0000123456789
+ dq 0h0.0000123456789p+10
+ dq 0h0.0000123456789p-10
+ dq 0h123456789.0
+ dq 0h0000123456789.0
+ dq 0h123456789.0p+0
+ dq 0h123456789.0p+300
+ dq 0h1.0p-1075 ; Underflow
+ dq 0h1.0p-1074 ; Smallest denorm
+ dq 0h1.ffffffffffffffffffffffffffffp-1024 ; Rounds to denorm
+ dq 0h1.0p-1023 ; Denorm
+ dq 0h1.ffffffffffffffffffffffffffffp-1023 ; Rounds to normal
+ dq 0h1.0p-1022 ; Smallest non-denorm
+ dq 0h1.0p+1023 ; Biggest possible exponent
+ dq 0h1.ffffffffffffffffffffffffffffp+1023 ; Rounds to infinity
+ dq Inf ; Infinity
+ dq NaN
+
+; 80-bit
+ dt 1.0
+ dt 0h1.0
+ dt 2.0
+ dt 0h2.0
+ dt 0h1.0p+1
+ dt 0h1.0p-1
+ dt 0h0.0
+ dt 0h1.23456789
+ dt 0h0.123456789
+ dt 0h0.0000123456789
+ dt 0h1.23456789p10
+ dt 0h1.23456789p+10
+ dt 0h1.23456789p-10
+ dt 0h0.123456789p10
+ dt 0h0.123456789p+10
+ dt 0h0.123456789abcdef0123456789abcdef012345p-10
+ dt 0h0.0000123456789
+ dt 0h0.0000123456789p+10
+ dt 0h0.0000123456789p-10
+ dt 0h123456789.0
+ dt 0h0000123456789.0
+ dt 0h123456789.0p+0
+ dt 0h123456789.0p+1024
+ dt 0h1.0p-16446 ; Underflow
+ dt 0h1.0p-16445 ; Smallest denorm
+ dt 0h1.ffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
+ dt 0h1.0p-16383 ; Denorm
+ dt 0h1.ffffffffffffffffffffffffffffp-16383 ; Rounds to normal
+ dt 0h1.0p-16382 ; Smallest non-denorm
+ dt 0h1.0p+16383 ; Biggest possible exponent
+ dt 0h1.ffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
+ dt Inf ; Infinity
+ dt NaN
+
+; 128-bit
+ do 1.0
+ do 0h1.0
+ do 2.0
+ do 0h2.0
+ do 0h1.0p+1
+ do 0h1.0p-1
+ do 0h0.0
+ do 0h1.23456789
+ do 0h0.123456789
+ do 0h0.0000123456789
+ do 0h1.23456789p10
+ do 0h1.23456789p+10
+ do 0h1.23456789p-10
+ do 0h0.123456789p10
+ do 0h0.123456789p+10
+ do 0h0.123456789abcdef0123456789abcdef012345p-10
+ do 0h0.0000123456789
+ do 0h0.0000123456789p+10
+ do 0h0.0000123456789p-10
+ do 0h123456789.0
+ do 0h0000123456789.0
+ do 0h123456789.0p+0
+ do 0h123456789.0p+1024
+ do 0h1.0p-16495 ; Underflow
+ do 0h1.0p-16494 ; Smallest denorm
+ do 0h1.ffffffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
+ do 0h1.0p-16383 ; Denorm
+ do 0h1.ffffffffffffffffffffffffffffffffp-16383 ; Rounds to normal
+ do 0h1.0p-16382 ; Smallest non-denorm
+ do 0h1.0p+16383 ; Biggest possible exponent
+ do 0h1.ffffffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
+ do Inf ; Infinity
+ do NaN
+
+; 16-bit
+ dw 1.0
dw $1.0
dw 2.0
dw $2.0