jon.recoil.org

Module Flambda2_terms.Cost_metrics

type t
val zero : t
val from_size : Code_size.t -> t
val size : t -> Code_size.t
val removed : t -> Removed_operations.t
val print : Format.formatter -> t -> unit
val (+) : t -> t -> t
type code_characteristics = {
  1. cost_metrics : t;
  2. params_arity : int;
}
val set_of_closures : find_code_characteristics: (Flambda2_identifiers.Code_id.t -> code_characteristics) -> Set_of_closures.t -> t
val increase_due_to_let_expr : is_phantom:bool -> cost_metrics_of_defining_expr:t -> t
val increase_due_to_let_cont_non_recursive : cost_metrics_of_handler:t -> t
val increase_due_to_let_cont_recursive : cost_metrics_of_handlers:t -> t
val notify_added : code_size:Code_size.t -> t -> t
val notify_removed : operation:Removed_operations.t -> t -> t
val evaluate : args:Inlining_arguments.t -> t -> float
val equal : t -> t -> bool