Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / integer / int-inf.sig
CommitLineData
7f918cf1
CE
1signature INT_INF =
2 sig
3 include INTEGER
4
5 val divMod: int * int -> int * int
6 val quotRem: int * int -> int * int
7 val pow: int * Int.int -> int
8 val log2: int -> Int.int
9 val orb: int * int -> int
10 val xorb: int * int -> int
11 val andb: int * int -> int
12 val notb: int -> int
13 val << : int * Word.word -> int
14 val ~>> : int * Word.word -> int
15 end
16
17signature INT_INF_EXTRA =
18 sig
19 include INT_INF
20 type t = int
21
22 structure BigWord : WORD
23 structure SmallInt : INTEGER
24
25 val areSmall: int * int -> bool
26 val gcd: int * int -> int
27 val isSmall: int -> bool
28 datatype rep =
29 Big of BigWord.word Vector.vector
30 | Small of SmallInt.int
31 val rep: int -> rep
32 val fromRep: rep -> int option
33
34 val zero: int
35 val one: int
36
37 val +? : int * int -> int
38 val *? : int * int -> int
39 val -? : int * int -> int
40 val ~? : int -> int
41
42 val ltu: int * int -> bool
43 val leu: int * int -> bool
44 val gtu: int * int -> bool
45 val geu: int * int -> bool
46 end