[ library(suspend) | The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

# ?Vars #:: ?Range

Range constraint combined with integrality constraint

Vars
  Variable or integer, or a list of variables or integers
Range
  Variable or Lo..Hi, where Lo and Hi are variables or integer expressions

## Description

This constraint suspends until its arguments are ground. It then succeeds iff all the elements of the list Vars are integers within the range specified by Range.

The range must eventually be in the form Lo..Hi, where Lo and Hi are expressions evaluating to integers.

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

### Fail Conditions

Vars contains non-integers or integers that do not fall within Range.

### Exceptions

(5) type error
  Range contains non-integers.

## Examples

        ?- X #:: 1 .. 5, X = 3.
        X = 3
        Yes (0.00s cpu)

        ?- X #:: 1 .. 5, X = 6.
        No (0.00s cpu)

        ?- X #:: 1 .. 5, X = 3.0.
        No (0.00s cpu)

## See Also

$:: / 2, :: / 2, #:: / 3, integers / 1, reals / 1