This file is indexed.

/usr/share/mozart/doc/cpitut/node15.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>Determining Wake-up Events for Real-Interval Constraints</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="node14.html#ct.casestudy.impl.ridef">&lt;&lt; Prev</A></TD><TD><A href="node13.html">- Up -</A></TD><TD><A href="node16.html#ct.casestudy.impl.constraint">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="ct.casestudy.impl.profilewakeup"><H4><A name="ct.casestudy.impl.profilewakeup">Determining Wake-up Events for Real-Interval Constraints</A></H4><P> Instances of classes derived from <CODE>OZ_CtWakeUp</CODE> indicate to the runtime system which wake-up event occurred. Therefore, member functions to initialize an <CODE>RIWakeUp</CODE> instance according to a possible event are defined. They will be used to determine the wake-up event of a propagator upon a certain parameter when imposing a propagator(see <A href="node18.html#ct.casestudy.impl.expect">Section ``Extending <CODE>OZ_Expect</CODE>''</A>). </P><BLOCKQUOTE class="linenumbers"><PRE><SPAN class="keyword">class</SPAN>&nbsp;<SPAN class="type">RIWakeUp</SPAN>&nbsp;:&nbsp;<SPAN class="keyword">public</SPAN>&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;{<BR><SPAN class="keyword">public</SPAN>:<BR>&nbsp;&nbsp;<SPAN class="keyword">static</SPAN>&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="functionname">wakeupMin</SPAN>(<SPAN class="type">void</SPAN>)&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="variablename">ri_wakeup_min</SPAN>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_min.init();<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_min.setWakeUp(0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">return</SPAN>&nbsp;ri_wakeup_min;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<SPAN class="keyword">static</SPAN>&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="functionname">wakeupMax</SPAN>(<SPAN class="type">void</SPAN>)&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="variablename">ri_wakeup_max</SPAN>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_max.init();<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_max.setWakeUp(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">return</SPAN>&nbsp;ri_wakeup_max;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<SPAN class="keyword">static</SPAN>&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="functionname">wakeupMinMax</SPAN>(<SPAN class="type">void</SPAN>)&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="type">OZ_CtWakeUp</SPAN>&nbsp;<SPAN class="variablename">ri_wakeup_minmax</SPAN>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_minmax.init();<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_minmax.setWakeUp(0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;ri_wakeup_minmax.setWakeUp(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">return</SPAN>&nbsp;ri_wakeup_minmax;<BR>&nbsp;&nbsp;}<BR>};<BR></PRE></BLOCKQUOTE><P> </P><P>An instance of <CODE>RIWakeUp</CODE> is computed from an instance of <CODE>RI</CODE> and a profile (stored before the constraint has be modified) by </P><BLOCKQUOTE class="code"><CODE>OZ_CtWakeUp&nbsp;RI<SPAN class="keyword">::</SPAN>getWakeUpDescriptor(OZ_CtProfile&nbsp;<SPAN class="keyword">*</SPAN>&nbsp;p)</CODE></BLOCKQUOTE><P> (see <A href="node16.html#ct.casestudy.impl.constraint">Section ``The Actual Real-Interval Constraint''</A>). The definition of the profile class <CODE>RIProfile</CODE> for real-intervals is given below. </P><BLOCKQUOTE class="linenumbers"><PRE><SPAN class="keyword">class</SPAN>&nbsp;<SPAN class="type">RIProfile</SPAN>&nbsp;:&nbsp;<SPAN class="keyword">public</SPAN>&nbsp;<SPAN class="type">OZ_CtProfile</SPAN>&nbsp;{<BR><SPAN class="keyword">private</SPAN>:<BR>&nbsp;&nbsp;<SPAN class="type">ri_float</SPAN>&nbsp;<SPAN class="variablename">_l</SPAN>,&nbsp;<SPAN class="variablename">_u</SPAN>;<BR>&nbsp;<BR><SPAN class="keyword">public</SPAN>:<BR>&nbsp;&nbsp;<SPAN class="functionname">RIProfile</SPAN>(<SPAN class="type">void</SPAN>)&nbsp;{}<BR>&nbsp;&nbsp;<SPAN class="keyword">virtual</SPAN>&nbsp;<SPAN class="type">void</SPAN>&nbsp;<SPAN class="functionname">init</SPAN>(<SPAN class="type">OZ_Ct</SPAN>&nbsp;*&nbsp;<SPAN class="variablename">c</SPAN>)&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="type">RI</SPAN>&nbsp;*&nbsp;<SPAN class="variablename">ri</SPAN>&nbsp;=&nbsp;(<SPAN class="type">RI</SPAN>&nbsp;*)&nbsp;c;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_l&nbsp;=&nbsp;ri-&gt;_l;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_u&nbsp;=&nbsp;ri-&gt;_u;<BR>&nbsp;&nbsp;}<BR>};<BR></PRE></BLOCKQUOTE><P> </P><P>The function <CODE>RIProfile<SPAN class="keyword">::</SPAN>init(OZ_Ct&nbsp;<SPAN class="keyword">*</SPAN>&nbsp;c)</CODE> takes a snapshot of <CODE>c</CODE> to enable the detection of the abovementioned wake-up events, i.&nbsp;e., modified lower/upper bound resp. both. </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node14.html#ct.casestudy.impl.ridef">&lt;&lt; Prev</A></TD><TD><A href="node13.html">- Up -</A></TD><TD><A href="node16.html#ct.casestudy.impl.constraint">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~tmueller/">Tobias&nbsp;Müller</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>