fun dynamic_entry_for_external name dev home exec args markers = let fun make_args () = letval inpath = name ^ serial_string () ^ ".cnf"in
[if null markers then"External"else"ExternalV2"] @
[File.platform_path (Path.variable home + Path.platform_exe (Path.basic exec))] @
[inpath] @ (if null markers then [] else [if dev = ToFile then"out"else""]) @
markers @ args end inif getenv home = ""then NONE else SOME (name, make_args) end
fun dynamic_entry_for_info _ incremental (name, Internal (Java, mode, ss)) = if incremental andalso mode = Batch then NONE else SOME (name, K ss)
| dynamic_entry_for_info _ incremental (name, Internal (JNI, mode, ss)) = if incremental andalso mode = Batch then NONE elseifexists File.is_dir (Path.split (getenv "KODKODI_JAVA_LIBRARY_PATH")) then SOME (name, K ss) else NONE
| dynamic_entry_for_info _ false (name, External (home, exec, args)) =
dynamic_entry_for_external name ToStdout home exec args []
| dynamic_entry_for_info timeout false (name, ExternalV2 (dev, home, exec, m1, m2, m3, args)) =
dynamic_entry_for_external name dev home exec (args timeout) [m1, m2, m3]
| dynamic_entry_for_info _ true _ = NONE
fun dynamic_list timeout incremental =
map_filter (dynamic_entry_for_info timeout incremental) static_list
val configured_sat_solvers = map fst o dynamic_list Time.zeroTime val smart_sat_solver_name = fst o hd o dynamic_list Time.zeroTime
fun sat_solver_spec timeout name = let val dyns = dynamic_list timeout false fun enum_solvers solvers =
commas (distinct (op =) (map (quote o fst) solvers)) in
(name, the (AList.lookup (op =) dyns name) ()) handleOption.Option =>
error (if AList.defined (op =) static_list name then "The SAT solver " ^ quote name ^ " is not configured. The \
\following solvers are configured:\n" ^
enum_solvers dyns else "Unknown SAT solver " ^ quote name ^ "\nThe following \
\solvers are supported:\n" ^ enum_solvers static_list) end
end;
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.