Module InferModules.CostModels
module BasicCost = CostDomain.BasicCosttype model= BufferOverrunUtils.ModelEnv.model_env -> ret:(InferIR.Ident.t * InferIR.Typ.t) -> BufferOverrunDomain.Mem.t -> BasicCost.t
module type S = sig ... endmodule Collection : Sval of_itv : itv:Itv.t -> degree_kind:InferModules__Polynomials.DegreeKind.t -> of_function:string -> InferBase.Location.t -> BasicCost.tval linear : InferIR.Exp.t -> of_function:string -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.tval modeled : of_function:string -> 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 -> BufferOverrunDomain.Mem.t -> 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