<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link rel="previous" href="Fcl_goals.Conjunto.html"> <link rel="next" href="Fcl_goals.List.html"> <link rel="Up" href="Fcl_goals.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Fcl_genesis" rel="Chapter" href="Fcl_genesis.html"> <link title="Fcl_debug" rel="Chapter" href="Fcl_debug.html"> <link title="Fcl_misc" rel="Chapter" href="Fcl_misc.html"> <link title="Fcl_float" rel="Chapter" href="Fcl_float.html"> <link title="Fcl_stak" rel="Chapter" href="Fcl_stak.html"> <link title="Fcl_domain" rel="Chapter" href="Fcl_domain.html"> <link title="Fcl_setDomain" rel="Chapter" href="Fcl_setDomain.html"> <link title="Fcl_data" rel="Chapter" href="Fcl_data.html"> <link title="Fcl_cstr" rel="Chapter" href="Fcl_cstr.html"> <link title="Fcl_var" rel="Chapter" href="Fcl_var.html"> <link title="Fcl_reify" rel="Chapter" href="Fcl_reify.html"> <link title="Fcl_invariant" rel="Chapter" href="Fcl_invariant.html"> <link title="Fcl_boolean" rel="Chapter" href="Fcl_boolean.html"> <link title="Fcl_alldiff" rel="Chapter" href="Fcl_alldiff.html"> <link title="Fcl_linear" rel="Chapter" href="Fcl_linear.html"> <link title="Fcl_nonlinear" rel="Chapter" href="Fcl_nonlinear.html"> <link title="Fcl_expr" rel="Chapter" href="Fcl_expr.html"> <link title="Fcl_arith" rel="Chapter" href="Fcl_arith.html"> <link title="Fcl_interval" rel="Chapter" href="Fcl_interval.html"> <link title="Fcl_gcc" rel="Chapter" href="Fcl_gcc.html"> <link title="Fcl_fdArray" rel="Chapter" href="Fcl_fdArray.html"> <link title="Fcl_conjunto" rel="Chapter" href="Fcl_conjunto.html"> <link title="Fcl_sorting" rel="Chapter" href="Fcl_sorting.html"> <link title="Fcl_goals" rel="Chapter" href="Fcl_goals.html"> <link title="Fcl_opti" rel="Chapter" href="Fcl_opti.html"> <link title="Facile" rel="Chapter" href="Facile.html"><title>Fcl_goals.Array</title> </head> <body> <div class="navbar"><a class="pre" href="Fcl_goals.Conjunto.html" title="Fcl_goals.Conjunto">Previous</a> <a class="up" href="Fcl_goals.html" title="Fcl_goals">Up</a> <a class="post" href="Fcl_goals.List.html" title="Fcl_goals.List">Next</a> </div> <h1>Module <a href="type_Fcl_goals.Array.html">Fcl_goals.Array</a></h1> <pre><span class="keyword">module</span> Array: <code class="code">sig</code> <a href="Fcl_goals.Array.html">..</a> <code class="code">end</code></pre><hr width="100%"> <pre><span id="VALforalli"><span class="keyword">val</span> foralli</span> : <code class="type">?select:('a array -> int) -><br> (int -> 'a -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a>) -> 'a array -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a></code></pre><div class="info "> <code class="code">foralli ?select g a</code> returns the conjunctive iteration of the application of goal <code class="code">g</code> on the elements of array <code class="code">a</code> and on their indices. The order is computed by the heuristic <code class="code">?select</code> which must raise <code class="code">Not_found</code> to terminate. Default heuristic is increasing order over indices.<br> </div> <pre><span id="VALforall"><span class="keyword">val</span> forall</span> : <code class="type">?select:('a array -> int) -> ('a -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a>) -> 'a array -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a></code></pre><div class="info "> <code class="code">forall ?select g a</code> defined by <code class="code">foralli ?select (fun _i x -> g x) a</code>, i.e. indices of selected elements are not passed to goal <code class="code">g</code>.<br> </div> <pre><span id="VALexistsi"><span class="keyword">val</span> existsi</span> : <code class="type">?select:('a array -> int) -><br> (int -> 'a -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a>) -> 'a array -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a></code></pre><div class="info "> <code class="code">existsi ?select g a</code> returns the disjunctive iteration of the application of goal <code class="code">g</code> on the elements of array <code class="code">a</code> and on their indices. The order is computed by the heuristic <code class="code">?select</code> which must raise <code class="code">Not_found</code> to terminate. Default heuristic is increasing order over indices.<br> </div> <pre><span id="VALexists"><span class="keyword">val</span> exists</span> : <code class="type">?select:('a array -> int) -> ('a -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a>) -> 'a array -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a></code></pre><div class="info "> <code class="code">exists ?select g a</code> defined by <code class="code">existsi ?select (fun _i x -> g x) a</code>, i.e. indices of selected elements are not passed to goal <code class="code">g</code>.<br> </div> <pre><span id="VALchoose_index"><span class="keyword">val</span> choose_index</span> : <code class="type">(Fcl_var.Attr.t -> Fcl_var.Attr.t -> bool) -> Fcl_var.Fd.t array -> int</code></pre><div class="info "> <code class="code">choose_index order fds</code> returns the index of the best (minimun) free (not instantiated) variable in the array <code class="code">fds</code> for the criterion <code class="code">order</code>. Raises <code class="code">Not_found</code> if all variables are bound (instantiated).<br> </div> <pre><span id="VALnot_instantiated_fd"><span class="keyword">val</span> not_instantiated_fd</span> : <code class="type">Fcl_var.Fd.t array -> int</code></pre><div class="info "> <code class="code">not_instantiated_fd fds</code> returns the index of one element in <code class="code">fds</code> which is not instantiated. Raises <code class="code">Not_found</code> if all variables in array <code class="code">fds</code> are bound.<br> </div> <pre><span id="VALlabeling"><span class="keyword">val</span> labeling</span> : <code class="type">Fcl_var.Fd.t array -> <a href="Fcl_goals.html#TYPEt">Fcl_goals.t</a></code></pre><div class="info "> Standard labeling, i.e. conjunctive non-deterministic instantiation of an array of variables. Defined as <code class="code">forall indomain</code>.<br> </div> </body></html>