/usr/share/mozart/doc/fdt/node42.html is in mozart-doc 1.4.0-8ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>9.2 A Domain-Splitting Distributor</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node41.html#section.user-defined.naive"><< Prev</A></TD><TD><A href="node40.html">- Up -</A></TD></TR></TABLE><DIV id="section.user-defined.split"><H2><A name="section.user-defined.split">9.2 A Domain-Splitting Distributor</A></H2><P>In this section we program a distributor for the domain-splitting strategy (see <A href="node10.html#page.domainsplitting">*</A>). The program is shown in <A href="node42.html#fig.splitdist">Figure 9.2</A>. </P><DIV id="fig.splitdist"><HR><P><A name="fig.splitdist"></A></P><DL class="anonymous"><DD class="code"><CODE><SPAN class="keyword">proc</SPAN><SPAN class="variablename"> </SPAN>{<SPAN class="functionname">SplitDistributor</SPAN> Is}<BR> {Space<SPAN class="keyword">.</SPAN>waitStable}<BR> <SPAN class="keyword">local</SPAN> <BR> Fs={Filter Is <SPAN class="keyword">fun</SPAN><SPAN class="variablename"> </SPAN>{<SPAN class="functionname">$</SPAN> I} {FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>size I}<SPAN class="keyword">></SPAN>1 <SPAN class="keyword">end</SPAN>}<BR> <SPAN class="keyword">in</SPAN> <BR> <SPAN class="keyword">case</SPAN> Fs <BR> <SPAN class="keyword">of</SPAN> nil <SPAN class="keyword">then</SPAN> <SPAN class="keyword">skip</SPAN> <BR> <SPAN class="keyword">[]</SPAN> F<SPAN class="keyword">|</SPAN>Fr <SPAN class="keyword">then</SPAN> <BR> MinVar<SPAN class="keyword">#</SPAN>_ = {FoldL Fr <SPAN class="keyword">fun</SPAN><SPAN class="variablename"> </SPAN>{<SPAN class="functionname">$</SPAN> Var<SPAN class="keyword">#</SPAN>Size X}<BR> <SPAN class="keyword">if</SPAN> {FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>size X}<SPAN class="keyword"><</SPAN>Size <SPAN class="keyword">then</SPAN> <BR> X<SPAN class="keyword">#</SPAN>{FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>size X}<BR> <SPAN class="keyword">else</SPAN> <BR> Var<SPAN class="keyword">#</SPAN>Size<BR> <SPAN class="keyword">end</SPAN> <BR> <SPAN class="keyword">end</SPAN> F<SPAN class="keyword">#</SPAN>{FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>size F}}<BR> Mid = {FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>mid MinVar} <BR> <SPAN class="keyword">in</SPAN> <BR> <SPAN class="keyword">choice</SPAN> MinVar <SPAN class="keyword">=<:</SPAN> Mid {SplitDistributor Fs}<BR> <SPAN class="keyword">[]</SPAN> MinVar <SPAN class="keyword">>:</SPAN> Mid {SplitDistributor Fs}<BR> <SPAN class="keyword">end</SPAN> <BR> <SPAN class="keyword">end</SPAN> <BR> <SPAN class="keyword">end</SPAN> <BR><SPAN class="keyword">end</SPAN></CODE></DD></DL><P class="caption"><STRONG>Figure 9.2:</STRONG> A distributor for a domain-splitting strategy.</P><HR></DIV><P>As in the previous section we first discard all determined variables. Then we select the variable <CODE>MinVar</CODE> which has the smallest domain (as it is done for the first-fail distribution strategy). For the selected variable we determine the value that is in the middle of the least and largest possible value by </P><BLOCKQUOTE class="code"><CODE>Mid = {FD<SPAN class="keyword">.</SPAN>reflect<SPAN class="keyword">.</SPAN>mid MinVar} </CODE></BLOCKQUOTE><P> After this is done we distribute with the constraint that <CODE>MinVar</CODE> should be smaller than or equal to <CODE>Mid</CODE>. </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node41.html#section.user-defined.naive"><< Prev</A></TD><TD><A href="node40.html">- Up -</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~schulte/">Christian Schulte</A> and <A href="http://www.ps.uni-sb.de/~smolka/">Gert Smolka</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>
|