Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | signature IEEE_REAL = |
2 | sig | |
3 | exception Unordered | |
4 | ||
5 | datatype real_order = LESS | EQUAL | GREATER | UNORDERED | |
6 | ||
7 | datatype float_class = | |
8 | NAN | |
9 | | INF | |
10 | | ZERO | |
11 | | NORMAL | |
12 | | SUBNORMAL | |
13 | ||
14 | datatype rounding_mode = | |
15 | TO_NEAREST | |
16 | | TO_NEGINF | |
17 | | TO_POSINF | |
18 | | TO_ZERO | |
19 | ||
20 | type decimal_approx = {class: float_class, | |
21 | digits: int list, | |
22 | exp: int, | |
23 | sign: bool} | |
24 | ||
25 | val fromString: string -> decimal_approx option | |
26 | val getRoundingMode: unit -> rounding_mode | |
27 | val scan: (char, 'a) StringCvt.reader | |
28 | -> (decimal_approx, 'a) StringCvt.reader | |
29 | val setRoundingMode: rounding_mode -> unit | |
30 | val toString: decimal_approx -> string | |
31 | end | |
32 | ||
33 | signature IEEE_REAL_EXTRA = | |
34 | sig | |
35 | include IEEE_REAL | |
36 | ||
37 | val withRoundingMode: rounding_mode * (unit -> 'a) -> 'a | |
38 | end |