module ReportUtils:sig..end
This module defines utility functions for the report program.
val url : stringThe Bisect URL, as a string.
val (++) : int -> int -> intSimilar 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 -> int -> intSimilar 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 arrayReturns 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 being
supposed to be equal to 0.
val (-|) : int array -> int array -> int arrayReturns the difference of the passed arrays, using (--) to subtract
elements. The length of the returned array is the maximum of the
lengths of the passed arrays, missing elements from the smallest
array being supposed to be equal to 0.
val mkdirs : ?perm:Unix.file_perm -> string -> unitCreates the directory whose path is passed, and all necessary parent
directories. The optional perms parameter indicates the permissions
used for directory creation(s), defaulting to 0o755.
Raises Unix.Unix_error if creation fails.
val split : ('a -> bool) -> 'a list -> 'a list * 'a listsplit p [e1; ...; en] returns ([e1; ...; e(i-1)], [ei; ...; en])
where i is the lowest index such that p ei evaluates to false.
val split_after : int -> 'a list -> 'a list * 'a listsplit_after k [e1; ...; en] returns ([e1; ...; ek], [e(k+1); ...; en]).
val open_both : string -> string -> Stdlib.in_channel * Stdlib.out_channelopen_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 files are either both opened or both closed.
val output_strings : string list -> (string * string) list -> Stdlib.out_channel -> unitoutput_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; if no mapping
is found, "" is used.
Raises an exception if an error occurs.
val output_bytes : int array -> string -> unitoutput_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 an exception if an error occurs.
val current_time : unit -> stringReturns the current time as a string, using the following format:
"2001-01-01 01:01:01".