Module AltErgoLib.Timers

type ty_module =
  1. | M_None
  2. | M_Combine
  3. | M_Typing
  4. | M_Sat
  5. | M_Match
  6. | M_CC
  7. | M_UF
  8. | M_Arith
  9. | M_Arrays
  10. | M_Sum
  11. | M_Records
  12. | M_Adt
  13. | M_Bitv
  14. | M_AC
  15. | M_Expr
  16. | M_Triggers
  17. | M_Simplex
  18. | M_Ite
type ty_function =
  1. | F_add
  2. | F_add_lemma
  3. | F_add_predicate
  4. | F_add_terms
  5. | F_are_equal
  6. | F_assume
  7. | F_class_of
  8. | F_leaves
  9. | F_make
  10. | F_m_lemmas
  11. | F_m_predicates
  12. | F_query
  13. | F_solve
  14. | F_subst
  15. | F_union
  16. | F_unsat
  17. | F_none
  18. | F_new_facts
  19. | F_apply_subst
  20. | F_instantiate
type t

environment of internal timers *

val empty : unit -> t

return a new empty env *

val reset : t -> unit

reset the given env to empty

val start : t -> ty_module -> ty_function -> unit

save the current timer and start the timer "ty_module x ty_function" *

val pause : t -> ty_module -> ty_function -> unit

pause the timer "ty_module x ty_function" and restore the former timer *

val update : t -> unit

update the value of the current timer *

val get_value : t -> ty_module -> ty_function -> float

get the value of the timer "ty_module x ty_function" *

val get_sum : t -> ty_module -> float

get the sum of the "ty_function" timers for the given "ty_module" *

val current_timer : t -> ty_module * ty_function * int
val string_of_ty_module : ty_module -> string
val string_of_ty_function : ty_function -> string
val get_stack : t -> (ty_module * ty_function * int) list
val all_modules : ty_module list
val all_functions : ty_function list
val set_timer_start : (ty_module -> ty_function -> unit) -> unit

This functions assumes (asserts) that timers() yields true *

val set_timer_pause : (ty_module -> ty_function -> unit) -> unit

This functions assumes (asserts) that timers() yields true *

val with_timer : ty_module -> ty_function -> (unit -> 'a) -> 'a

with_timer mod_ fun_ f wraps the call f () with the timer (mod_, fun_).