package dose3

  1. Overview
  2. Docs
val uuid : unit -> string

return a unique identifier based on random numbers

val list_unique : 'a list -> 'a list

return a list of unique elements. This algorithm runs in O(n) but is not stable . elements are returned in reverse order

val memo : ('a -> 'b) -> 'a -> 'b

A generic memoization function. To use with care as it allocates an hashtbl storing all results that will be released only on exit

val timestamp : unit -> string
val max32int : int

Debug, ProgressBars, Timers and Loggers

type label = string
module type Messages = sig ... end
module Debug : Messages

Debug, Info and Warning messages are printed immediately on stderr. * Info messages are enabled per default. Debug and Warning messages * must be enabled explicitely

module Warning : Messages
module Info : Messages
module Notice : Messages

Ex : To use the Message framework, you should declare three functions * at the begin of each module as:

let debug fmt = Util.make_debug "MyModuleLabel" fmt let info fmt = Util.make_info "MyModuleLabel" fmt let warning fmt = Util.make_warning "MyModuleLabel" fmt

and then use these function as

debug "this is a message string %s" "a string"

To enable this handle, from the main program use the function

Debug.enable "MyModuleLabel"

include Util.Logging(struct let label = "label" end) ;;

module Logging (X : sig ... end) : sig ... end
module Progress : sig ... end

ProgressBars are printed immediately on stderr. * To be used, the **must** be created outside the functions where * they are used. * They can enabled or disabled (default)

module Timer : sig ... end

Timers are printed all at once by the dump function on stderr. * They can enabled or disabled (default)

module IntHashtbl : Stdlib.Hashtbl.S with type key = int
module IntPairHashtbl : Stdlib.Hashtbl.S with type key = int * int
module StringHashtbl : Stdlib.Hashtbl.S with type key = string
module StringPairHashtbl : Stdlib.Hashtbl.S with type key = string * string
val hashcons : string StringHashtbl.t -> string -> string

hash consing for strings

val hits : int Stdlib.ref
val miss : int Stdlib.ref
val range : int -> int -> int list
val string_of_list : ?delim:(string * string) -> ?sep:string -> ('a -> string) -> 'a list -> string
class type projection = object ... end

associate a sat solver variable to a package id

identity projection

class intprojection : int -> projection

intprojection n integer projection of size n