Module Costlib__CostDomain

module F = Stdlib.Format
module BasicCost : sig ... end
module BasicCostWithReason : sig ... end
module VariantCostMap : sig ... end
type t = VariantCostMap.t
type summary = {
post : t;
is_on_ui_thread : bool;
}
val pp_summary : F.formatter -> summary -> unit
val get_cost_kind : IBase.CostKind.t -> t -> BasicCostWithReason.t
val get_operation_cost : t -> BasicCostWithReason.t
val map : f:(BasicCostWithReason.t -> BasicCostWithReason.t) -> t -> t
val zero_record : t

Map representing cost record {OperationCost:0; AllocationCost:0; IOCost:0}

val mult_by : t -> nb_exec:BasicCost.t -> t

Special map where each element is multiplied by the number of executions

val plus : t -> t -> t

Union of two maps where common costs are added together

val unit_cost_atomic_operation : t

Map representing cost record {OperationCost:1; AllocationCost:0; IOCost:0}

val unit_cost_allocation : t

Map representing cost record {OperationCost:0; AllocationCost:1; IOCost:0}

val of_operation_cost : BasicCost.t -> t

Map representing cost record {OperationCost:operation_cost; AllocationCost:0; IOCost:0}