<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 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>Facile.Easy</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">val</span> i2e : int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> fd2e : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( +~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( *~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( -~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( /~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( **~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( %~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( <=~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( <~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( >~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( =~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( <>~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( >=~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( <=~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( <~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( >~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( =~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( <>~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( >=~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Arith</span>.t<br> <span class="keyword">val</span> ( &&~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( ||~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( =>~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( <=>~~ ) : <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> ( &&~ ) : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> ( ||~ ) : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">module</span> <span class="constructor">Fd</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Var</span>.<span class="constructor">Fd</span>.t<br> <span class="keyword">type</span> attr = <span class="constructor">Var</span>.<span class="constructor">Attr</span>.t<br> <span class="keyword">type</span> domain = <span class="constructor">Domain</span>.t<br> <span class="keyword">type</span> elt = <span class="constructor">Domain</span>.elt<br> <span class="keyword">type</span> event = <span class="constructor">Var</span>.<span class="constructor">Attr</span>.event<br> <span class="keyword">val</span> create : ?name:string <span class="keywordsign">-></span> domain <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> interval : ?name:string <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> array : ?name:string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> t array<br> <span class="keyword">val</span> elt : elt <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> is_var : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> is_bound : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> value : t <span class="keywordsign">-></span> (attr, elt) <span class="constructor">Var</span>.concrete<br> <span class="keyword">val</span> min : t <span class="keywordsign">-></span> elt<br> <span class="keyword">val</span> max : t <span class="keywordsign">-></span> elt<br> <span class="keyword">val</span> min_max : t <span class="keywordsign">-></span> elt * elt<br> <span class="keyword">val</span> elt_value : t <span class="keywordsign">-></span> elt<br> <span class="keyword">val</span> int_value : t <span class="keywordsign">-></span> elt<br> <span class="keyword">val</span> size : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> member : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> id : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> name : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> fprint : out_channel <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fprint_array : out_channel <span class="keywordsign">-></span> t array <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> unify : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> refine : t <span class="keywordsign">-></span> domain <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> refine_low : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> refine_up : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> refine_low_up : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> on_refine : event<br> <span class="keyword">val</span> on_subst : event<br> <span class="keyword">val</span> on_min : event<br> <span class="keyword">val</span> on_max : event<br> <span class="keyword">val</span> delay : event list <span class="keywordsign">-></span> t <span class="keywordsign">-></span> ?waking_id:int <span class="keywordsign">-></span> <span class="constructor">Cstr</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> int : elt <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> subst : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> unify_cstr : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> <span class="constructor">Cstr</span>.t<br> <span class="keyword">val</span> remove : t <span class="keywordsign">-></span> elt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> values : t <span class="keywordsign">-></span> elt list<br> <span class="keyword">val</span> iter : (elt <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) concrete' =<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Facile</span>.<span class="constructor">Var</span>.concrete =<br> <span class="constructor">Unk</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a<br> <span class="keywordsign">|</span> <span class="constructor">Val</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b<br> <span class="keyword">type</span> concrete_fd =<br> (<span class="constructor">Facile</span>.<span class="constructor">Easy</span>.<span class="constructor">Fd</span>.attr, <span class="constructor">Facile</span>.<span class="constructor">Easy</span>.<span class="constructor">Fd</span>.elt) <span class="constructor">Facile</span>.<span class="constructor">Easy</span>.concrete'<br> <span class="keyword">end</span></code></body></html>