Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / basis-library / real / real.sig
CommitLineData
7f918cf1
CE
1signature PRE_REAL_GLOBAL =
2 sig
3 type real
4 structure Math: MATH where type real = real
5 end
6
7signature PRE_REAL =
8 sig
9 include PRE_REAL_GLOBAL
10
11 val * : real * real -> real
12 val *+ : real * real * real -> real
13 val *- : real * real * real -> real
14 val + : real * real -> real
15 val - : real * real -> real
16 val / : real * real -> real
17 val < : real * real -> bool
18 val <= : real * real -> bool
19 val == : real * real -> bool
20 val > : real * real -> bool
21 val >= : real * real -> bool
22 val ?= : real * real -> bool
23 val ~ : real -> real
24 val abs: real -> real
25
26 val realSize: Primitive.Int32.int
27 val exponentBias: Primitive.Int32.int
28 val precision: Primitive.Int32.int
29 val radix: Primitive.Int32.int
30
31 val frexp: real * C_Int.int ref -> real
32 val ldexp: real * C_Int.int -> real
33 val modf: real * real ref -> real
34
35 val round: real -> real
36 val realCeil: real -> real
37 val realFloor: real -> real
38 val realTrunc: real -> real
39
40 val gdtoa: real * C_Int.t * C_Int.t * C_Int.t * C_Int.t ref -> C_String.t
41 val strtor: Primitive.NullString8.t * C_Int.t -> real
42
43 val fromInt8Unsafe: Primitive.Int8.int -> real
44 val fromInt16Unsafe: Primitive.Int16.int -> real
45 val fromInt32Unsafe: Primitive.Int32.int -> real
46 val fromInt64Unsafe: Primitive.Int64.int -> real
47
48 val fromReal32Unsafe: Primitive.Real32.real -> real
49 val fromReal64Unsafe: Primitive.Real64.real -> real
50
51 val fromWord8Unsafe: Primitive.Word8.word -> real
52 val fromWord16Unsafe: Primitive.Word16.word -> real
53 val fromWord32Unsafe: Primitive.Word32.word -> real
54 val fromWord64Unsafe: Primitive.Word64.word -> real
55
56 val toInt8Unsafe: real -> Primitive.Int8.int
57 val toInt16Unsafe: real -> Primitive.Int16.int
58 val toInt32Unsafe: real -> Primitive.Int32.int
59 val toInt64Unsafe: real -> Primitive.Int64.int
60
61 val toReal32Unsafe: real -> Primitive.Real32.real
62 val toReal64Unsafe: real -> Primitive.Real64.real
63
64 val toWord8Unsafe: real -> Primitive.Word8.word
65 val toWord16Unsafe: real -> Primitive.Word16.word
66 val toWord32Unsafe: real -> Primitive.Word32.word
67 val toWord64Unsafe: real -> Primitive.Word64.word
68 end
69
70signature REAL_GLOBAL =
71 sig
72 include PRE_REAL_GLOBAL
73
74 val round: real -> Int.int
75 val trunc: real -> Int.int
76 val ceil: real -> Int.int
77 val floor: real -> Int.int
78 end
79
80signature REAL =
81 sig
82 include REAL_GLOBAL
83
84 val != : real * real -> bool
85 val * : real * real -> real
86 val *+ : real * real * real -> real
87 val *- : real * real * real -> real
88 val + : real * real -> real
89 val - : real * real -> real
90 val / : real * real -> real
91 val < : real * real -> bool
92 val <= : real * real -> bool
93 val == : real * real -> bool
94 val > : real * real -> bool
95 val >= : real * real -> bool
96 val ?= : real * real -> bool
97 val ~ : real -> real
98 val abs: real -> real
99 val checkFloat: real -> real
100 val class: real -> IEEEReal.float_class
101 val compare: real * real -> order
102 val compareReal: real * real -> IEEEReal.real_order
103 val copySign: real * real -> real
104 val fmt: StringCvt.realfmt -> real -> string
105 val fromDecimal: IEEEReal.decimal_approx -> real option
106 val fromInt: int -> real
107 val fromLarge: IEEEReal.rounding_mode -> LargeReal.real -> real
108 val fromLargeInt: LargeInt.int -> real
109 val fromManExp: {man: real, exp: int} -> real
110 val fromString: string -> real option
111 val isFinite: real -> bool
112 val isNan: real -> bool
113 val isNormal: real -> bool
114 val max: real * real -> real
115 val maxFinite: real
116 val min: real * real -> real
117 val minNormalPos: real
118 val minPos: real
119 val negInf: real
120 val nextAfter: real * real -> real
121 val posInf: real
122 val precision: int
123 val radix: int
124 val realCeil: real -> real
125 val realFloor: real -> real
126 val realMod: real -> real
127 val realRound: real -> real
128 val realTrunc: real -> real
129 val rem: real * real -> real
130 val sameSign: real * real -> bool
131 val scan: (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader
132 val sign: real -> int
133 val signBit: real -> bool
134 val split: real -> {whole: real, frac: real}
135 val toDecimal: real -> IEEEReal.decimal_approx
136 val toInt: IEEEReal.rounding_mode -> real -> int
137 val toLarge: real -> LargeReal.real
138 val toLargeInt: IEEEReal.rounding_mode -> real -> LargeInt.int
139 val toManExp: real -> {man: real, exp: int}
140 val toString: real -> string
141 val unordered: real * real -> bool
142 end
143
144signature REAL_EXTRA =
145 sig
146 include REAL
147 val realSize: Int.int
148
149 val fromWord: word -> real
150 val fromLargeWord: LargeWord.word -> real
151 val toWord: IEEEReal.rounding_mode -> real -> word
152 val toLargeWord: IEEEReal.rounding_mode -> real -> LargeWord.word
153 end