Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / integer / integer.sig
1 signature INTEGER_GLOBAL =
2 sig
3 eqtype int
4 end
5
6 signature INTEGER =
7 sig
8 include INTEGER_GLOBAL
9
10 val precision : Int.int option
11 val minInt : int option
12 val maxInt : int option
13
14 val toLarge: int -> LargeInt.int
15 val fromLarge: LargeInt.int -> int
16 val toInt: int -> Int.int
17 val fromInt: Int.int -> int
18
19 val + : int * int -> int
20 val - : int * int -> int
21 val * : int * int -> int
22 val div: int * int -> int
23 val mod: int * int -> int
24 val quot: int * int -> int
25 val rem: int * int -> int
26
27 val compare: int * int -> order
28 val < : int * int -> bool
29 val <= : int * int -> bool
30 val > : int * int -> bool
31 val >= : int * int -> bool
32
33 val ~ : int -> int
34 val abs: int -> int
35 val min: int * int -> int
36 val max: int * int -> int
37
38 val sign: int -> Int.int
39 val sameSign: int * int -> bool
40
41 val fmt: StringCvt.radix -> int -> string
42 val toString: int -> string
43 val scan: (StringCvt.radix
44 -> (char, 'a) StringCvt.reader
45 -> (int, 'a) StringCvt.reader)
46 val fromString: string -> int option
47 end
48
49 signature INTEGER_EXTRA =
50 sig
51 include INTEGER
52 type t = int
53
54 val zero: int
55 val one: int
56
57 val precision' : Int.int
58 val maxInt' : int
59 val minInt' : int
60
61 val +? : int * int -> int
62 val *? : int * int -> int
63 val -? : int * int -> int
64 val ~? : int -> int
65
66 val andb: int * int -> int
67 val << : int * Word.word -> int
68 val notb: int -> int
69 val orb: int * int -> int
70 val rol: int * Word.word -> int
71 val ror: int * Word.word -> int
72 val ~>> : int * Word.word -> int
73 val >> : int * Word.word -> int
74 val xorb: int * int -> int
75
76 val ltu: int * int -> bool
77 val leu: int * int -> bool
78 val gtu: int * int -> bool
79 val geu: int * int -> bool
80
81 val toLargeInt: int -> LargeInt.int
82 val fromLargeInt: LargeInt.int -> int
83 val castFromFixedInt: FixedInt.int -> int
84 val castToFixedInt: int -> FixedInt.int
85 val castFromSysWord: SysWord.word -> int
86 val castToSysWord: int -> SysWord.word
87 end