package goblint
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Static analysis framework for C
Install
dune-project
Dependency
Authors
Maintainers
Sources
goblint-2.7.1.tbz
sha256=af01aac256229f33a90a9fcbfed04b01e3097f154d4d124f006476d6387c6a66
sha512=2a93bfe16881adbc2d8dcbfe38c1e19cd24ca105d8e1eda13d02440f3002874ffe2957dfd937510765233a054a40568b0052db92e31d382a5bd215d1ec12565c
doc/src/goblint.constraint/solverTypes.ml.html
Source file solverTypes.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95(** Solver signatures *) open Batteries open ConstrSys (** A solver is something that can translate a system into a solution (hash-table) *) module type GenericEqSolver = functor (S:EqConstrSys) -> functor (H:Hashtbl.S with type key=S.v) -> sig (** The hash-map that is the first component of [solve xs vs] is a local solution for interesting variables [vs], reached from starting values [xs]. *) val solve : (S.v*S.d) list -> S.v list -> S.d H.t end (** A solver is something that can translate a system into a solution (hash-table). These solver can handle [DemandEqConstrSys] *) module type DemandEqSolver = functor (S:DemandEqConstrSys) -> functor (H:Hashtbl.S with type key=S.v) -> sig (** The hash-map that is the first component of [solve xs vs] is a local solution for interesting variables [vs], reached from starting values [xs]. *) val solve : (S.v*S.d) list -> S.v list -> S.d H.t end (** A solver is something that can translate a system into a solution (hash-table). Incremental solver has data to be marshaled. *) module type GenericEqIncrSolverBase = functor (S:EqConstrSys) -> functor (H:Hashtbl.S with type key=S.v) -> sig type marshal val copy_marshal: marshal -> marshal val relift_marshal: marshal -> marshal (** The hash-map that is the first component of [solve xs vs] is a local solution for interesting variables [vs], reached from starting values [xs]. As a second component the solver returns data structures for incremental serialization. *) val solve : (S.v*S.d) list -> S.v list -> marshal option -> S.d H.t * marshal end (** (Incremental) solver argument, indicating which postsolving should be performed by the solver. *) module type IncrSolverArg = sig val should_prune: bool val should_verify: bool val should_warn: bool val should_save_run: bool end (** An incremental solver takes the argument about postsolving. *) module type GenericEqIncrSolver = functor (Arg: IncrSolverArg) -> GenericEqIncrSolverBase module type DemandEqIncrSolverBase = functor (S: DemandEqConstrSys) -> functor (H:Hashtbl.S with type key=S.v) -> sig type marshal val copy_marshal: marshal -> marshal val relift_marshal: marshal -> marshal (** The hash-map that is the first component of [solve xs vs] is a local solution for interesting variables [vs], reached from starting values [xs]. As a second component the solver returns data structures for incremental serialization. *) val solve : (S.v*S.d) list -> S.v list -> marshal option -> S.d H.t * marshal end module type DemandEqIncrSolver = functor (Arg: IncrSolverArg) -> DemandEqIncrSolverBase (** A solver is something that can translate a system into a solution (hash-table) *) module type DemandGlobIncrSolver = functor (S:DemandGlobConstrSys) -> functor (LH:Hashtbl.S with type key=S.LVar.t) -> functor (GH:Hashtbl.S with type key=S.GVar.t) -> sig type marshal val copy_marshal: marshal -> marshal val relift_marshal: marshal -> marshal (** The hash-map that is the first component of [solve xs vs] is a local solution for interesting variables [vs], reached from starting values [xs]. As a second component the solver returns data structures for incremental serialization. *) val solve : (S.LVar.t*S.D.t) list -> (S.GVar.t*S.G.t) list -> S.LVar.t list -> marshal option -> (S.D.t LH.t * S.G.t GH.t) * marshal end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>