[87] | 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 | |
---|
[92] | 11 | type sizes = [ `Four | `Seven | `Eight | `Eleven | `Sixteen ] |
---|
| 12 | |
---|
[87] | 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 |
---|
[95] | 18 | val mk_byte_from_bits: ((bit * bit * bit * bit) * (bit * bit * bit * bit)) -> byte |
---|
[87] | 19 | val from_byte: byte -> nibble * nibble |
---|
[97] | 20 | val bits_of_byte: byte -> ((bit * bit * bit * bit) * (bit * bit * bit * bit)) |
---|
[87] | 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 | |
---|
[162] | 26 | val get_bit: 'a vect -> int -> bit |
---|
| 27 | val set_bit: 'a vect -> int -> bit -> 'a vect |
---|
[87] | 28 | |
---|
[88] | 29 | val int_of_vect: 'a vect -> int |
---|
[92] | 30 | val vect_of_int: int -> ([< sizes] as 'a) -> 'a vect |
---|
[140] | 31 | val string_of_bit: bit -> string |
---|
[98] | 32 | val string_of_vect: 'a vect -> string |
---|
[140] | 33 | val hex_string_of_vect: 'a vect -> string |
---|
[88] | 34 | |
---|
[87] | 35 | val (-&-): 'a vect -> 'a vect -> 'a vect |
---|
| 36 | val (-|-): 'a vect -> 'a vect -> 'a vect |
---|
| 37 | val (-^-): 'a vect -> 'a vect -> 'a vect |
---|
[95] | 38 | val complement: 'a vect -> 'a vect |
---|
[87] | 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 | |
---|
[90] | 46 | val zero: [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] -> [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] vect |
---|
| 47 | |
---|
[87] | 48 | val half_add: 'a vect -> 'a vect -> bit * 'a vect |
---|
| 49 | val full_add: 'a vect -> 'a vect -> bit -> bit * 'a vect |
---|
[147] | 50 | val sign_extension: byte -> word |
---|
[87] | 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 |
---|