Add signed int extract and construction functions, and test.
[ocaml-bitstring.git] / bitstring.mli
index a29cb03..501e6fb 100644 (file)
@@ -707,6 +707,12 @@ val equals : bitstring -> bitstring -> bool
     semantically equal.  It is the same as calling [compare] and
     testing if the result is [0], but usually more efficient. *)
 
+val is_zeroes_bitstring : bitstring -> bool
+(** Tests if the bitstring is all zero bits (cf. {!zeroes_bitstring}) *)
+
+val is_ones_bitstring : bitstring -> bool
+(** Tests if the bitstring is all one bits (cf. {!ones_bitstring}). *)
+
 (** {3 Bitstring manipulation} *)
 
 val bitstring_length : bitstring -> int
@@ -934,14 +940,24 @@ val extract_bit : string -> int -> int -> int -> bool
 
 val extract_char_unsigned : string -> int -> int -> int -> int
 
+val extract_char_signed : string -> int -> int -> int -> int
+
 val extract_int_be_unsigned : string -> int -> int -> int -> int
 
+val extract_int_be_signed : string -> int -> int -> int -> int
+
 val extract_int_le_unsigned : string -> int -> int -> int -> int
 
+val extract_int_le_signed : string -> int -> int -> int -> int
+
 val extract_int_ne_unsigned : string -> int -> int -> int -> int
 
+val extract_int_ne_signed : string -> int -> int -> int -> int
+
 val extract_int_ee_unsigned : endian -> string -> int -> int -> int -> int
 
+val extract_int_ee_signed : endian -> string -> int -> int -> int -> int
+
 val extract_int32_be_unsigned : string -> int -> int -> int -> int32
 
 val extract_int32_le_unsigned : string -> int -> int -> int -> int32
@@ -1051,6 +1067,8 @@ val construct_bit : Buffer.t -> bool -> int -> exn -> unit
 
 val construct_char_unsigned : Buffer.t -> int -> int -> exn -> unit
 
+val construct_char_signed : Buffer.t -> int -> int -> exn -> unit
+
 val construct_int_be_unsigned : Buffer.t -> int -> int -> exn -> unit
 
 val construct_int_le_unsigned : Buffer.t -> int -> int -> exn -> unit
@@ -1059,6 +1077,14 @@ val construct_int_ne_unsigned : Buffer.t -> int -> int -> exn -> unit
 
 val construct_int_ee_unsigned : endian -> Buffer.t -> int -> int -> exn -> unit
 
+val construct_int_be_signed : Buffer.t -> int -> int -> exn -> unit
+
+val construct_int_le_signed : Buffer.t -> int -> int -> exn -> unit
+
+val construct_int_ne_signed : Buffer.t -> int -> int -> exn -> unit
+
+val construct_int_ee_signed : endian -> Buffer.t -> int -> int -> exn -> unit
+
 val construct_int32_be_unsigned : Buffer.t -> int32 -> int -> exn -> unit
 
 val construct_int32_le_unsigned : Buffer.t -> int32 -> int -> exn -> unit
@@ -1078,3 +1104,7 @@ val construct_int64_ee_unsigned : endian -> Buffer.t -> int64 -> int -> exn -> u
 val construct_string : Buffer.t -> string -> unit
 
 val construct_bitstring : Buffer.t -> bitstring -> unit
+
+(* Alias of functions shadowed by Core. *)
+val char_code : char -> int
+val int32_of_int : int -> int32