Module InferModules__CostModels
module BasicCost = InferModules.CostDomain.BasicCosttype model= InferModules.BufferOverrunUtils.ModelEnv.model_env -> ret:(InferIR.Ident.t * InferIR.Typ.t) -> InferModules.BufferOverrunDomain.Mem.t -> BasicCost.t
module type S = sig ... endmodule Collection : Sval of_itv : itv:InferModules.Itv.t -> degree_kind:InferModules__Polynomials.DegreeKind.t -> of_function:string -> InferBase.Location.t -> BasicCost.tval linear : InferIR.Exp.t -> of_function:string -> InferModules.BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> InferModules.BufferOverrunDomain.Mem.t -> BasicCost.tval modeled : of_function:string -> InferModules.BufferOverrunUtils.ModelEnv.model_env -> ret:('a * InferIR.Typ.t) -> 'b -> BasicCost.tval string_len_range_itv : InferIR.Exp.t -> from:(InferIR.Exp.t * InferIR.Typ.IntegerWidths.t) InferStdlib.IStd.Option.t -> InferModules.BufferOverrunDomain.Mem.t -> InferModules.Itv.tGiven a string of length n and an optional starting index i (0 by default), return itv
0, n_u-i_l
module JavaString : sig ... endmodule BoundsOfCollection : sig ... endmodule BoundsOfArray : sig ... endmodule Call : sig ... end