Module Costlib__CostUtils

module BasicCost = Costlib.CostDomain.BasicCost
type model = BO.BufferOverrunUtils.ModelEnv.model_env -> ret:(IR.Ident.t * IR.Typ.t) -> BO.BufferOverrunDomain.Mem.t -> BasicCost.t
val unit_cost_of : of_function:string -> IBase.Location.t -> BasicCost.t
val of_itv : itv:BO.Itv.t -> degree_kind:BO__Polynomials.DegreeKind.t -> of_function:string -> IBase.Location.t -> BasicCost.t
val string_len_range_itv : BO.BufferOverrunUtils.ModelEnv.model_env -> IR.Exp.t -> from:(IR.Exp.t * IR.Typ.IntegerWidths.t) option -> BO.BufferOverrunDomain.Mem.t -> BO.Itv.t

Given a string of length n and an optional starting index i (0 by default), return itv 0, n_u-i_l

module type S = sig ... end
module Array : S
module Collection : S