1 | type bit = bool |
---|
2 | |
---|
3 | type 'a vect |
---|
4 | |
---|
5 | type nibble = [`Four] vect |
---|
6 | type byte7 = [`Seven] vect |
---|
7 | type byte = [`Eight] vect |
---|
8 | type word = [`Sixteen] vect |
---|
9 | type word11 = [`Eleven] vect |
---|
10 | |
---|
11 | type sizes = [ `Four | `Seven | `Eight | `Eleven | `Sixteen ] |
---|
12 | |
---|
13 | val mk_nibble: bit -> bit -> bit -> bit -> nibble |
---|
14 | val from_nibble: nibble -> bit * bit * bit * bit |
---|
15 | val mk_byte7: bit -> bit -> bit -> nibble -> byte7 |
---|
16 | val from_byte7: byte7 -> bit * bit * bit * nibble |
---|
17 | val mk_byte: nibble -> nibble -> byte |
---|
18 | val mk_byte_from_bits: ((bit * bit * bit * bit) * (bit * bit * bit * bit)) -> byte |
---|
19 | val from_byte: byte -> nibble * nibble |
---|
20 | val bits_of_byte: byte -> ((bit * bit * bit * bit) * (bit * bit * bit * bit)) |
---|
21 | val mk_word: byte -> byte -> word |
---|
22 | val from_word: word -> byte * byte |
---|
23 | val mk_word11: bit -> bit -> bit -> byte -> word11 |
---|
24 | val from_word11: word11 -> bit * bit * bit * byte |
---|
25 | |
---|
26 | val get_bit: 'a vect -> int -> bit |
---|
27 | val set_bit: 'a vect -> int -> bit -> 'a vect |
---|
28 | |
---|
29 | val int_of_vect: 'a vect -> int |
---|
30 | val vect_of_int: int -> ([< sizes] as 'a) -> 'a vect |
---|
31 | val string_of_bit: bit -> string |
---|
32 | val string_of_vect: 'a vect -> string |
---|
33 | val hex_string_of_vect: 'a vect -> string |
---|
34 | |
---|
35 | val (-&-): 'a vect -> 'a vect -> 'a vect |
---|
36 | val (-|-): 'a vect -> 'a vect -> 'a vect |
---|
37 | val (-^-): 'a vect -> 'a vect -> 'a vect |
---|
38 | val complement: 'a vect -> 'a vect |
---|
39 | |
---|
40 | val iter_bits: (bit -> string) -> 'a vect -> string |
---|
41 | val map_bits: (bit -> bit) -> 'a vect -> 'a vect |
---|
42 | val map2_bits: (bit -> bit -> bit) -> 'a vect -> 'a vect -> 'a vect |
---|
43 | |
---|
44 | val string_of_vect: 'a vect -> string |
---|
45 | |
---|
46 | val zero: [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] -> [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] vect |
---|
47 | |
---|
48 | val half_add: 'a vect -> 'a vect -> bit * 'a vect |
---|
49 | val full_add: 'a vect -> 'a vect -> bit -> bit * 'a vect |
---|
50 | val sign_extension: byte -> word |
---|
51 | |
---|
52 | val rotate_left : 'a vect -> 'a vect |
---|
53 | val rotate_right : 'a vect -> 'a vect |
---|
54 | val shift_right : 'a vect -> 'a vect |
---|
55 | val shift_left : 'a vect -> 'a vect |
---|
56 | |
---|
57 | module WordMap: Map.S with type key = word |
---|