Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / real / IEEE-real.sig
CommitLineData
7f918cf1
CE
1signature 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
33signature IEEE_REAL_EXTRA =
34 sig
35 include IEEE_REAL
36
37 val withRoundingMode: rounding_mode * (unit -> 'a) -> 'a
38 end