Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / integer / word.sig
CommitLineData
7f918cf1
CE
1signature WORD_GLOBAL =
2 sig
3 eqtype word
4 end
5
6signature WORD =
7 sig
8 include WORD_GLOBAL
9
10 val wordSize: Int.int
11
12 val toLarge: word -> LargeWord.word
13 val toLargeX: word -> LargeWord.word
14 val toLargeWord: word -> LargeWord.word
15 val toLargeWordX: word -> LargeWord.word
16 val fromLarge: LargeWord.word -> word
17 val fromLargeWord: LargeWord.word -> word
18 val toLargeInt: word -> LargeInt.int
19 val toLargeIntX: word -> LargeInt.int
20 val fromLargeInt: LargeInt.int -> word
21 val toInt: word -> int
22 val toIntX: word -> int
23 val fromInt: int -> word
24
25 val + : word * word -> word
26 val - : word * word -> word
27 val * : word * word -> word
28 val div: word * word -> word
29 val mod: word * word -> word
30
31 val andb: word * word -> word
32 val << : word * Word.word -> word
33 val notb: word -> word
34 val orb: word * word -> word
35 val ~>> : word * Word.word -> word
36 val >> : word * Word.word -> word
37 val xorb: word * word -> word
38
39 val compare: word * word -> order
40 val < : word * word -> bool
41 val <= : word * word -> bool
42 val > : word * word -> bool
43 val >= : word * word -> bool
44
45 val ~ : word -> word
46 val min: word * word -> word
47 val max: word * word -> word
48
49 val fmt: StringCvt.radix -> word -> string
50 val toString: word -> string
51 val scan: (StringCvt.radix
52 -> (char, 'a) StringCvt.reader
53 -> (word, 'a) StringCvt.reader)
54 val fromString: string -> word option
55 end
56
57signature WORD_EXTRA =
58 sig
59 include WORD
60 type t = word
61
62 val zero: word
63 val one: word
64
65 val maxWord' : word
66
67 val toWord: word -> Word.word
68 val toWordX: word -> Word.word
69 val fromWord: Word.word -> word
70
71 val bswap: word -> word
72 val rol: word * Word.word -> word
73 val ror: word * Word.word -> word
74 val log2 : word -> Primitive.Int32.int
75
76 val castFromFixedInt: FixedInt.int -> word
77 val castToFixedInt: word -> FixedInt.int
78 val castFromSysWord: SysWord.word -> word
79 val castToSysWord: word -> SysWord.word
80 end