Module Depsolver_int


module Depsolver_int: sig .. end
Dependency solver. Low Level API


Implementation of the EDOS algorithms (and more). This module respect the cudf semantic.
val progressbar_init : Common.Util.Progress.t
progress bar
val progressbar_univcheck : Common.Util.Progress.t
include struct ... end
module R: sig .. end
module S: Common.EdosSolver.M(R)
class intprojection : int -> object .. end
associate a sat solver variable to a package id
class identity : object .. end
val init_map : Common.Util.IntHashtbl.key list -> 'a -> intprojection

type solver = {
   constraints : S.state; (*the sat problem*)
   map : intprojection;
}
low level solver data type
type pool_t = ((Cudf_types.vpkg list * S.var list) list *
(Cudf_types.vpkg * S.var list) list)
array

type pool =
| SolverPool of pool_t
| CudfPool of pool_t
val strip_solver_pool : pool -> pool_t
val strip_cudf_pool : pool -> pool_t
val init_pool_univ : Cudf.universe -> pool
val init_solver_pool : < inttovar : int -> int;
vartoint : S.var -> S.var; .. > ->
pool -> 'a list -> pool
val init_solver_cache : ?buffer:bool -> pool -> S.state
val init_solver_univ : ?buffer:bool -> Cudf.universe -> solver
low level constraint solver initialization
buffer : debug buffer to print out debug messages
univ : cudf package universe
val init_solver_closure : ?buffer:bool ->
pool -> Common.Util.IntHashtbl.key list -> solver
low level constraint solver initialization
buffer : debug buffer to print out debug messages
pool : dependencies and conflicts array idexed by package id
closure : subset of packages used to initialize the solver
val copy_solver : solver -> solver
return a copy of the state of the solver
val solve : solver -> Diagnostic_int.request -> Diagnostic_int.result
low level call to the sat solver
val pkgcheck : (Diagnostic_int.result * Diagnostic_int.request -> unit) option ->
solver -> int Pervasives.ref -> bool array -> int -> unit
val univcheck : ?callback:(Diagnostic_int.result * Diagnostic_int.request -> unit) ->
Cudf.universe -> int
univcheck ?callback (mdf,solver) check if all packages known by the solver are installable. XXX
Returns the number of packages that cannot be installed
val listcheck : ?callback:(Diagnostic_int.result * Diagnostic_int.request -> unit) ->
Cudf.universe -> int list -> int
listcheck ?callback idlist mdf check if a subset of packages known by the solver idlist are installable
Returns the number of packages that cannot be installed
idlist : list of packages id to be checked
val reverse_dependencies : Cudf.universe -> int list array
reverse_dependencies index return an array that associates to a package id i the list of all packages ids that have a dependency on i.
val dependency_closure_cache : ?maxdepth:int ->
?conjunctive:bool ->
pool -> S.var list -> S.var list
val dependency_closure : ?maxdepth:int ->
?conjunctive:bool ->
Cudf.universe -> S.var list -> S.var list
dependency_closure index l return the union of the dependency closure of all packages in l .
maxdepth : the maximum cone depth (infinite by default)
conjunctive : consider only conjunctive dependencies (false by default)
val reverse_dependency_closure : ?maxdepth:int -> int list array -> int list -> int list
return the dependency closure of the reverse dependency graph. The visit is bfs.
maxdepth : the maximum cone depth (infinite by default)