| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 |
- ;
- ; floatx.asm
- ;
- ; Test hexadecimal floating-point numbers
- %define Inf __Infinity__
- %define NaN __QNaN__
- ; 16-bit
- dw 1.0
- dw 0x1.0
- dw 2.0
- dw 0x2.0
- dw 0x1.0p+1
- dw 0x1.0p-1
- dw 0x0.0
- dw 0x1.23456789
- dw 0x0.123456789
- dw 0x0.0000123456789
- dw 0x1.23456789p10
- dw 0x1.23456789p+10
- dw 0x1.23456789p-10
- dw 0x0.123456789p10
- dw 0x0.123456789p+10
- dw 0x0.123456789abcdef0123456789abcdef012345p-10
- dw 0x0.0000123456789
- dw 0x0.0000123456789p+10
- dw 0x0.0000123456789p-10
- dw 0x1.0p-25 ; Underflow
- dw 0x1.01p-25 ; Rounds to denorm
- dw 0x1.0p-24 ; Smallest denorm
- dw 0x1.ffffffffffffffffffffffffffffp-16 ; Rounds to denorm
- dw 0x1.0p-15 ; Denorm
- dw 0x1.ffffffffffffffffffffffffffffp-15 ; Rounds to normal
- dw 0x1.0p-14 ; Smallest non-denorm
- dw 0x1.0p+15 ; Biggest possible exponent
- dw 0x1.ffffffffffffffffffffffffffffp+15 ; Rounds to infinity
- dw Inf ; Infinity
- dw NaN
- ; 32-bit
- dd 1.0
- dd 0x1.0
- dd 2.0
- dd 0x2.0
- dd 0x1.0p+1
- dd 0x1.0p-1
- dd 0x0.0
- dd 0x1.23456789
- dd 0x0.123456789
- dd 0x0.0000123456789
- dd 0x1.23456789p10
- dd 0x1.23456789p+10
- dd 0x1.23456789p-10
- dd 0x0.123456789p10
- dd 0x0.123456789p+10
- dd 0x0.123456789abcdef0123456789abcdef012345p-10
- dd 0x0.0000123456789
- dd 0x0.0000123456789p+10
- dd 0x0.0000123456789p-10
- dd 0x123456789.0
- dd 0x0000123456789.0
- dd 0x123456789.0p+0
- dd 0x123456789.0p+64
- dd 0x1.0p-150 ; Underflow
- dd 0x1.01p-150 ; Rounds to denorm
- dd 0x1.0p-149 ; Smallest denorm
- dd 0x1.ffffffffffffffffffffffffffffp-128 ; Rounds to denorm
- dd 0x1.0p-127 ; Denorm
- dd 0x1.ffffffffffffffffffffffffffffp-127 ; Rounds to normal
- dd 0x1.0p-126 ; Smallest non-denorm
- dd 0x1.0p+127 ; Biggest possible exponent
- dd 0x1.ffffffffffffffffffffffffffffp+127 ; Rounds to infinity
- dd Inf ; Infinity
- dd NaN
- ; 64-bit
- dq 1.0
- dq 0x1.0
- dq 2.0
- dq 0x2.0
- dq 0x1.0p+1
- dq 0x1.0p-1
- dq 0x0.0
- dq 0x1.23456789
- dq 0x0.123456789
- dq 0x0.0000123456789
- dq 0x1.23456789p10
- dq 0x1.23456789p+10
- dq 0x1.23456789p-10
- dq 0x0.123456789p10
- dq 0x0.123456789p+10
- dq 0x0.123456789abcdef0123456789abcdef012345p-10
- dq 0x0.0000123456789
- dq 0x0.0000123456789p+10
- dq 0x0.0000123456789p-10
- dq 0x123456789.0
- dq 0x0000123456789.0
- dq 0x123456789.0p+0
- dq 0x123456789.0p+300
- dq 0x1.0p-1075 ; Underflow
- dq 0x1.01p-1075 ; Rounds to denorm
- dq 0x1.0p-1074 ; Smallest denorm
- dq 0x1.ffffffffffffffffffffffffffffp-1024 ; Rounds to denorm
- dq 0x1.0p-1023 ; Denorm
- dq 0x1.ffffffffffffffffffffffffffffp-1023 ; Rounds to normal
- dq 0x1.0p-1022 ; Smallest non-denorm
- dq 0x1.0p+1023 ; Biggest possible exponent
- dq 0x1.ffffffffffffffffffffffffffffp+1023 ; Rounds to infinity
- dq Inf ; Infinity
- dq NaN
- ; 80-bit
- dt 1.0
- dt 0x1.0
- dt 2.0
- dt 0x2.0
- dt 0x1.0p+1
- dt 0x1.0p-1
- dt 0x0.0
- dt 0x1.23456789
- dt 0x0.123456789
- dt 0x0.0000123456789
- dt 0x1.23456789p10
- dt 0x1.23456789p+10
- dt 0x1.23456789p-10
- dt 0x0.123456789p10
- dt 0x0.123456789p+10
- dt 0x0.123456789abcdef0123456789abcdef012345p-10
- dt 0x0.0000123456789
- dt 0x0.0000123456789p+10
- dt 0x0.0000123456789p-10
- dt 0x123456789.0
- dt 0x0000123456789.0
- dt 0x123456789.0p+0
- dt 0x123456789.0p+1024
- dt 0x1.0p-16446 ; Underflow
- dt 0x1.01p-16446 ; Rounds to denorm
- dt 0x1.0p-16445 ; Smallest denorm
- dt 0x1.ffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
- dt 0x1.0p-16383 ; Denorm
- dt 0x1.ffffffffffffffffffffffffffffp-16383 ; Rounds to normal
- dt 0x1.0p-16382 ; Smallest non-denorm
- dt 0x1.0p+16383 ; Biggest possible exponent
- dt 0x1.ffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
- dt Inf ; Infinity
- dt NaN
- ; 128-bit
- do 1.0
- do 0x1.0
- do 2.0
- do 0x2.0
- do 0x1.0p+1
- do 0x1.0p-1
- do 0x0.0
- do 0x1.23456789
- do 0x0.123456789
- do 0x0.0000123456789
- do 0x1.23456789p10
- do 0x1.23456789p+10
- do 0x1.23456789p-10
- do 0x0.123456789p10
- do 0x0.123456789p+10
- do 0x0.123456789abcdef0123456789abcdef012345p-10
- do 0x0.0000123456789
- do 0x0.0000123456789p+10
- do 0x0.0000123456789p-10
- do 0x123456789.0
- do 0x0000123456789.0
- do 0x123456789.0p+0
- do 0x123456789.0p+1024
- do 0x1.0p-16495 ; Underflow
- do 0x1.01p-16495 ; Rounds to denorm
- do 0x1.0p-16494 ; Smallest denorm
- do 0x1.ffffffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
- do 0x1.0p-16383 ; Denorm
- do 0x1.ffffffffffffffffffffffffffffffffp-16383 ; Rounds to normal
- do 0x1.0p-16382 ; Smallest non-denorm
- do 0x1.0p+16383 ; Biggest possible exponent
- do 0x1.ffffffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
- do Inf ; Infinity
- do NaN
- ; 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
- dw $1.0p+1
- dw $1.0p-1
- dw $0.0
- dw $1.23456789
- dw $0.123456789
- dw $0.0000123456789
- dw $1.23456789p10
- dw $1.23456789p+10
- dw $1.23456789p-10
- dw $0.123456789p10
- dw $0.123456789p+10
- dw $0.123456789abcdef0123456789abcdef012345p-10
- dw $0.0000123456789
- dw $0.0000123456789p+10
- dw $0.0000123456789p-10
- dw $1.0p-25 ; Underflow
- dw $1.0p-24 ; Smallest denorm
- dw $1.ffffffffffffffffffffffffffffp-16 ; Rounds to denorm
- dw $1.0p-15 ; Denorm
- dw $1.ffffffffffffffffffffffffffffp-15 ; Rounds to normal
- dw $1.0p-14 ; Smallest non-denorm
- dw $1.0p+15 ; Biggest possible exponent
- dw $1.ffffffffffffffffffffffffffffp+15 ; Rounds to infinity
- dw Inf ; Infinity
- dw NaN
- ; 32-bit
- dd 1.0
- dd $1.0
- dd 2.0
- dd $2.0
- dd $1.0p+1
- dd $1.0p-1
- dd $0.0
- dd $1.23456789
- dd $0.123456789
- dd $0.0000123456789
- dd $1.23456789p10
- dd $1.23456789p+10
- dd $1.23456789p-10
- dd $0.123456789p10
- dd $0.123456789p+10
- dd $0.123456789abcdef0123456789abcdef012345p-10
- dd $0.0000123456789
- dd $0.0000123456789p+10
- dd $0.0000123456789p-10
- dd $123456789.0
- dd $0000123456789.0
- dd $123456789.0p+0
- dd $123456789.0p+64
- dd $1.0p-150 ; Underflow
- dd $1.0p-149 ; Smallest denorm
- dd $1.ffffffffffffffffffffffffffffp-128 ; Rounds to denorm
- dd $1.0p-127 ; Denorm
- dd $1.ffffffffffffffffffffffffffffp-127 ; Rounds to normal
- dd $1.0p-126 ; Smallest non-denorm
- dd $1.0p+127 ; Biggest possible exponent
- dd $1.ffffffffffffffffffffffffffffp+127 ; Rounds to infinity
- dd Inf ; Infinity
- dd NaN
- ; 64-bit
- dq 1.0
- dq $1.0
- dq 2.0
- dq $2.0
- dq $1.0p+1
- dq $1.0p-1
- dq $0.0
- dq $1.23456789
- dq $0.123456789
- dq $0.0000123456789
- dq $1.23456789p10
- dq $1.23456789p+10
- dq $1.23456789p-10
- dq $0.123456789p10
- dq $0.123456789p+10
- dq $0.123456789abcdef0123456789abcdef012345p-10
- dq $0.0000123456789
- dq $0.0000123456789p+10
- dq $0.0000123456789p-10
- dq $123456789.0
- dq $0000123456789.0
- dq $123456789.0p+0
- dq $123456789.0p+300
- dq $1.0p-1075 ; Underflow
- dq $1.0p-1074 ; Smallest denorm
- dq $1.ffffffffffffffffffffffffffffp-1024 ; Rounds to denorm
- dq $1.0p-1023 ; Denorm
- dq $1.ffffffffffffffffffffffffffffp-1023 ; Rounds to normal
- dq $1.0p-1022 ; Smallest non-denorm
- dq $1.0p+1023 ; Biggest possible exponent
- dq $1.ffffffffffffffffffffffffffffp+1023 ; Rounds to infinity
- dq Inf ; Infinity
- dq NaN
- ; 80-bit
- dt 1.0
- dt $1.0
- dt 2.0
- dt $2.0
- dt $1.0p+1
- dt $1.0p-1
- dt $0.0
- dt $1.23456789
- dt $0.123456789
- dt $0.0000123456789
- dt $1.23456789p10
- dt $1.23456789p+10
- dt $1.23456789p-10
- dt $0.123456789p10
- dt $0.123456789p+10
- dt $0.123456789abcdef0123456789abcdef012345p-10
- dt $0.0000123456789
- dt $0.0000123456789p+10
- dt $0.0000123456789p-10
- dt $123456789.0
- dt $0000123456789.0
- dt $123456789.0p+0
- dt $123456789.0p+1024
- dt $1.0p-16446 ; Underflow
- dt $1.0p-16445 ; Smallest denorm
- dt $1.ffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
- dt $1.0p-16383 ; Denorm
- dt $1.ffffffffffffffffffffffffffffp-16383 ; Rounds to normal
- dt $1.0p-16382 ; Smallest non-denorm
- dt $1.0p+16383 ; Biggest possible exponent
- dt $1.ffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
- dt Inf ; Infinity
- dt NaN
- ; 128-bit
- do 1.0
- do $1.0
- do 2.0
- do $2.0
- do $1.0p+1
- do $1.0p-1
- do $0.0
- do $1.23456789
- do $0.123456789
- do $0.0000123456789
- do $1.23456789p10
- do $1.23456789p+10
- do $1.23456789p-10
- do $0.123456789p10
- do $0.123456789p+10
- do $0.123456789abcdef0123456789abcdef012345p-10
- do $0.0000123456789
- do $0.0000123456789p+10
- do $0.0000123456789p-10
- do $123456789.0
- do $0000123456789.0
- do $123456789.0p+0
- do $123456789.0p+1024
- do $1.0p-16495 ; Underflow
- do $1.0p-16494 ; Smallest denorm
- do $1.ffffffffffffffffffffffffffffffffp-16384 ; Rounds to denorm
- do $1.0p-16383 ; Denorm
- do $1.ffffffffffffffffffffffffffffffffp-16383 ; Rounds to normal
- do $1.0p-16382 ; Smallest non-denorm
- do $1.0p+16383 ; Biggest possible exponent
- do $1.ffffffffffffffffffffffffffffffffp+16383 ; Rounds to infinity
- do Inf ; Infinity
- do NaN
|