module ReportUtils: sig
.. end
This module defines utility functions for the report program.
val version : string
The Bisect version, as a string.
val url : string
The Bisect URL, as a string.
val (++) : int -> int -> int
Similar to
(+)
except that overflow is handled by returning:
max_int
if the result should be above max_int
;
min_int
if the result should be below min_int
.
val (+|) : int array -> int array -> int array
Returns the sum of the passed arrays, using (++)
to sum elements.
The length of the returned array is the maximum of the lengths of
the passed arrays, missing elements from the smallest array are
supposed to be equal to 0
.
val mkdirs : string -> unit
Creates the directory whose path is passed, and all necessary parent
directories. Raises Unix.Unix_error
if creation fails.
val split : ('a -> bool) -> 'a list -> 'a list * 'a list
split p [e1; ...; en]
returns ([e1; ...; e(i-1)], [ei; ...; en])
where is is the lowest index such that (p ei)
evaluates to false.
val split_after : int -> 'a list -> 'a list * 'a list
split_after k [e1; ...; en]
returns ([e1; ...; ek], [e(k+1); ...; en])
.
val open_both : string -> string -> Pervasives.in_channel * Pervasives.out_channel
open_both in_file out_file
return a
(i, o)
couple where:
i
is an input channel for in_file
;
o
is an output channel for out_file
.
Raises an exception if an error occurs; ensures that either both files
are either opened or closed.
val output_strings : string list -> (string * string) list -> Pervasives.out_channel -> unit
output_strings lines mapping ch
writes the elements of lines
to the channel ch
. Each line is written after substituting $(xyz)
sequences as described by Buffer.add_substitute
. The substitution is
based on the association list mapping
.
Raises en exception if an error occurs.
val output_bytes : int array -> string -> unit
output_bytes data filename
creates the file filename
and writes
the bytes from data
to it. Each array element is considered as a
byte value.
Raises en exception if an error occurs.