type bit = bool type 'a vect type nibble = [`Four] vect type byte7 = [`Seven] vect type byte = [`Eight] vect type word = [`Sixteen] vect type word11 = [`Eleven] vect type sizes = [ `Four | `Seven | `Eight | `Eleven | `Sixteen ] val mk_nibble: bit -> bit -> bit -> bit -> nibble val from_nibble: nibble -> bit * bit * bit * bit val mk_byte7: bit -> bit -> bit -> nibble -> byte7 val from_byte7: byte7 -> bit * bit * bit * nibble val mk_byte: nibble -> nibble -> byte val mk_byte_from_bits: ((bit * bit * bit * bit) * (bit * bit * bit * bit)) -> byte val from_byte: byte -> nibble * nibble val bits_of_byte: byte -> ((bit * bit * bit * bit) * (bit * bit * bit * bit)) val mk_word: byte -> byte -> word val from_word: word -> byte * byte val mk_word11: bit -> bit -> bit -> byte -> word11 val from_word11: word11 -> bit * bit * bit * byte val get_bit: 'a vect -> int -> bit val set_bit: 'a vect -> int -> bit -> 'a vect val int_of_vect: 'a vect -> int val vect_of_int: int -> ([< sizes] as 'a) -> 'a vect val string_of_bit: bit -> string val string_of_vect: 'a vect -> string val hex_string_of_vect: 'a vect -> string val (-&-): 'a vect -> 'a vect -> 'a vect val (-|-): 'a vect -> 'a vect -> 'a vect val (-^-): 'a vect -> 'a vect -> 'a vect val complement: 'a vect -> 'a vect val iter_bits: (bit -> string) -> 'a vect -> string val map_bits: (bit -> bit) -> 'a vect -> 'a vect val map2_bits: (bit -> bit -> bit) -> 'a vect -> 'a vect -> 'a vect val string_of_vect: 'a vect -> string val zero: [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] -> [< `Four | `Seven | `Eight | `Eleven | `Sixteen ] vect val half_add: 'a vect -> 'a vect -> bit * 'a vect val full_add: 'a vect -> 'a vect -> bit -> bit * 'a vect val sign_extension: byte -> word val rotate_left : 'a vect -> 'a vect val rotate_right : 'a vect -> 'a vect val shift_right : 'a vect -> 'a vect val shift_left : 'a vect -> 'a vect module WordMap: Map.S with type key = word