forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopamCudfSolverSig.ml
44 lines (33 loc) · 1.58 KB
/
opamCudfSolverSig.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
(**************************************************************************)
(* *)
(* Copyright 2017-2018 OCamlPro *)
(* *)
(* All rights reserved. This file is distributed under the terms of the *)
(* GNU Lesser General Public License version 2.1, with the special *)
(* exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
type criteria_def = {
crit_default: string;
crit_upgrade: string;
crit_fixup: string;
crit_best_effort_prefix: string option;
}
(** Timeout might still return a non-optimal solution *)
exception Timeout of (Cudf.preamble option * Cudf.universe) option
module type S = sig
val name: string
(** extra configurable solver parameters *)
val ext: string option ref
val is_present: unit -> bool
val command_name: string option
(** None means the solver is built-in *)
val default_criteria: criteria_def
val preemptive_check: bool
(** Should be true for solvers that may take a long time to detect that there
is no solution: in this case, dose's check is run beforehand ; otherwise
it's only run if the solver returns unsat, to extract the explanations. *)
val call:
criteria:string -> ?timeout:float -> ?tolerance:float -> Cudf.cudf ->
Cudf.preamble option * Cudf.universe
end