2 functor Test(structure Real: REAL
10 val negZero
= ~ posZero
13 val nan
= posInf
+ negInf
15 val posNan
= copySign (nan
, posOne
)
16 val negNan
= copySign (nan
, negOne
)
18 val _
= print (concat
["Testing Real", Int.toString size
, "\n"])
23 print (concat
["sign(", name
, ") = ",
24 (Int.toString (sign r
)) handle Domain
=> "raise Domain",
27 print (concat
["signBit(", name
, ") = ",
28 Bool.toString (signBit r
), "\n"])
30 print (concat
["sign(abs(", name
, ")) = ",
31 (Int.toString (sign (abs r
))) handle Domain
=> "raise Domain",
34 print (concat
["signBit(abs(", name
, ")) = ",
35 Bool.toString (signBit (abs r
)), "\n"])
41 List.app test
[("negNan", negNan
),
51 structure Z
= Test(structure Real = Real32
52 val posZero
: Real32
.real = 0.0
53 val posOne
: Real32
.real = 1.0
56 structure Z
= Test(structure Real = Real64
57 val posZero
: Real64
.real = 0.0
58 val posOne
: Real64
.real = 1.0