2.2.2 The Reference of the Implemented Real-Interval Constraint Solver

The module RI is provided as contribution (being part of the Mozart Oz 3 distribution1) and can be accessed either by

declare [RI] = {Module.link ['x-oz://contrib/RI']}

or by

import RI at 'x-oz://contrib/RI'

as part of a functor definition.

RI.inf

An implementation-dependent float value that denotes the smallest possible float number. It is -1.79769 \times
10^{308}.

RI.sup

An implementation-dependent float value that denotes the smallest possible float number. It is 1.79769 \times
10^{308}.

{RI.setPrec +F}

Sets the precision of the real-interval constraints to F.

{RI.getLowerBound +RI ?F}

Returns the lower bound of RI in F.

{RI.getUpperBound +RI ?F}

Returns the upper bound of RI in F.

{RI.getWidth +RI ?F}

Returns the width of RI in F.

{RI.var.decl ?RI}

Constrains RI to a real-interval constraint with the lower bound to be RI.inf and the upper bound to be RI.sup.

{RI.var.bounds +L +U ?RI}

Constrains RI to a real-interval constraint with the lower bound to be L and the upper bound to be U.

{RI.lessEq $X $Y}

Imposes the constraint X \le Y.

{RI.greater $X $Y}

Imposes the constraint X > Y.

{RI.intBounds $RI $D}

Imposes the constraint \lceil \underline{\mbox{\tt RI}}
\rceil = \underline{\mbox{\tt D}} \wedge \lfloor \overline{\mbox{\tt
RI}} \rfloor = \overline{\mbox{\tt D}}.

{RI.times $X $Y $Z}

Imposes the constraint X \times Y = Z.

{RI.plus $X $Y $Z}

Imposes the constraint X + Y = Z.

{RI.distribute *RI}

Creates a choice-point for \mbox{RI} \le m and \mbox{RI} > m where m = \underline{\mbox{\tt RI}} + (\overline{\mbox{\tt RI}} - \underline{\mbox{\tt RI}}) / 2.


1. The module RI is not provided on any Windows platform.

Tobias Müller
Version 1.4.0 (20080702)