sig
val total_time_s : unit -> float
val total_time_ns : unit -> int64
val start_time : unit -> int64
val ns_to_s : int64 -> float
module Section :
sig
type t
val full_name : Util.Section.t -> string
val set_debug : Util.Section.t -> int -> unit
val clear_debug : Util.Section.t -> unit
val get_debug : Util.Section.t -> int option
val cur_level : Util.Section.t -> int
val iter : (string * Util.Section.t) Sequence.t
val root : Util.Section.t
val zip : Util.Section.t
val make :
?parent:Util.Section.t ->
?inheriting:Util.Section.t list -> string -> Util.Section.t
end
val set_debug : int -> unit
val get_debug : unit -> int
val debugf :
?section:Util.Section.t ->
int ->
('a, Format.formatter, unit, unit) Pervasives.format4 ->
('a -> unit) -> unit
val debug : ?section:Util.Section.t -> int -> string -> unit
val ksprintf_noc :
f:(string -> 'a) ->
('b, Format.formatter, unit, 'a) Pervasives.format4 -> 'b
val err_spf : ('b, Format.formatter, unit, string) Pervasives.format4 -> 'b
val warn : string -> unit
val warnf : ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
exception Error of string * string
val error : where:string -> string -> 'a
val errorf :
where:string -> ('b, Format.formatter, unit, 'a) Pervasives.format4 -> 'b
val pp_pos : Lexing.position -> string
val set_memory_limit : int -> unit
val set_time_limit : int -> unit
module Exn :
sig
val pp_stack : Buffer.t -> int -> unit
val fmt_stack : Format.formatter -> int -> unit
val pp_backtrace : Buffer.t -> unit -> unit
val fmt_backtrace : Format.formatter -> unit -> unit
end
type profiler
val enable_profiling : bool Pervasives.ref
val mk_profiler : string -> Util.profiler
val enter_prof : Util.profiler -> unit
val exit_prof : Util.profiler -> unit
val with_prof : Util.profiler -> ('a -> 'b) -> 'a -> 'b
type stat
val mk_stat : string -> Util.stat
val print_global_stats : unit -> unit
val incr_stat : Util.stat -> unit
val add_stat : Util.stat -> int -> unit
module Flag :
sig
type gen = int Pervasives.ref
val create : unit -> Util.Flag.gen
val get_new : Util.Flag.gen -> int
end
val finally : do_:(unit -> unit) -> (unit -> 'a) -> 'a
val pp_pair :
?sep:string ->
'a CCFormat.printer -> 'b CCFormat.printer -> ('a * 'b) CCFormat.printer
val pp_list :
?sep:string -> 'a CCFormat.printer -> 'a list CCFormat.printer
val ord_option : 'a CCOrd.t -> 'a option CCOrd.t
val map_product : f:('a -> 'b list list) -> 'a list -> 'b list list
type 'a or_error = [ `Error of string | `Ok of 'a ]
val popen : cmd:string -> input:string -> string Util.or_error
end