<html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="Start" href="index.html"> <link rel="previous" href="Goals.Conjunto.html"> <link rel="next" href="Goals.List.html"> <link rel="Up" href="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="Domain" rel="Chapter" href="Domain.html"> <link title="SetDomain" rel="Chapter" href="SetDomain.html"> <link title="Stak" rel="Chapter" href="Stak.html"> <link title="Data" rel="Chapter" href="Data.html"> <link title="Cstr" rel="Chapter" href="Cstr.html"> <link title="Var" rel="Chapter" href="Var.html"> <link title="Invariant" rel="Chapter" href="Invariant.html"> <link title="Reify" rel="Chapter" href="Reify.html"> <link title="Arith" rel="Chapter" href="Arith.html"> <link title="Conjunto" rel="Chapter" href="Conjunto.html"> <link title="Goals" rel="Chapter" href="Goals.html"> <link title="FdArray" rel="Chapter" href="FdArray.html"> <link title="Gcc" rel="Chapter" href="Gcc.html"> <link title="Alldiff" rel="Chapter" href="Alldiff.html"> <link title="Sorting" rel="Chapter" href="Sorting.html"> <link title="Interval" rel="Chapter" href="Interval.html"><title>Goals.Array</title> </head> <body> <div class="navbar"><a href="Goals.Conjunto.html">Previous</a> <a href="Goals.html">Up</a> <a href="Goals.List.html">Next</a> </div> <center><h1>Module <a href="type_Goals.Array.html">Goals.Array</a></h1></center> <br> <pre><span class="keyword">module</span> Array: <code class="code">sig</code> <a href="Goals.Array.html">..</a> <code class="code">end</code></pre><hr width="100%"> <pre><span class="keyword">val</span> <a name="VALforalli"></a>foralli : <code class="type">?select:('a array -> int) -> (int -> 'a -> <a href="Goals.html#TYPEt">Goals.t</a>) -> 'a array -> <a href="Goals.html#TYPEt">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 class="keyword">val</span> <a name="VALforall"></a>forall : <code class="type">?select:('a array -> int) -> ('a -> <a href="Goals.html#TYPEt">Goals.t</a>) -> 'a array -> <a href="Goals.html#TYPEt">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 class="keyword">val</span> <a name="VALexistsi"></a>existsi : <code class="type">?select:('a array -> int) -> (int -> 'a -> <a href="Goals.html#TYPEt">Goals.t</a>) -> 'a array -> <a href="Goals.html#TYPEt">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 class="keyword">val</span> <a name="VALexists"></a>exists : <code class="type">?select:('a array -> int) -> ('a -> <a href="Goals.html#TYPEt">Goals.t</a>) -> 'a array -> <a href="Goals.html#TYPEt">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 class="keyword">val</span> <a name="VALchoose_index"></a>choose_index : <code class="type">(Var.Attr.t -> Var.Attr.t -> bool) -> 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 class="keyword">val</span> <a name="VALnot_instantiated_fd"></a>not_instantiated_fd : <code class="type">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 class="keyword">val</span> <a name="VALlabeling"></a>labeling : <code class="type">Var.Fd.t array -> <a href="Goals.html#TYPEt">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>