### 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 .

`RI.sup`

  An implementation-dependent float value that denotes the smallest possible float number. It is .

`{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` `Y`.

`{RI.greater` `$X``` `$Y``}`

  Imposes the constraint `X` `Y`.

`{RI.intBounds` `$RI``` `$D``}`

  Imposes the constraint .

`{RI.times` `$X``` `$Y``` `$Z``}`

  Imposes the constraint `X` `Y` `Z`.

`{RI.plus` `$X``` `$Y``` `$Z``}`

  Imposes the constraint `X` + `Y` `Z`.

`{RI.distribute` `*RI``}`

  Creates a choice-point for and where .

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