[ library(gfd) | Reference Manual | Alphabetic Index ]

# ?Vars :: ++Domain

Constrain Vars to have the domain Domain.

Vars
  Variable (array notation accepted) or collection (a la collection_to_list/2) of variables
Domain
  Domain specification

## Description

Constrains Vars to take only values from the domain specified by Domain. Vars may be a variable or a collection of variables (as accepted by collection_to_list/2). Domain can be specified as a simple range Lo .. Hi, or as a list of sub-ranges and/or individual elements. Each element of the specification is an integer, or is a ground expression that evaluates to an integer. All domain elements must be integers within the range allowed by gecode.

### Modules

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

## Examples

    [eclipse 2]: X :: 0..1.

    X = X{[0, 1]}

    [eclipse 2]: X :: -1..5.

    X = X{[-1 .. 5]}

    [eclipse 2]: X :: 0.0..1.0.
    type error in X :: 0.0 .. 1.0
    Abort

    [eclipse 2]: [X,Y] :: [1..10, -1, 0, 7, 21].

    X = X{[-1 .. 10, 21]}
    Y = Y{[-1 .. 10, 21]}

## See Also

integers / 1, fd_sets : :: / 2, suspend : :: / 2, ic_sets : :: / 2, ic : :: / 2, ic_hybrid_sets : :: / 2, fd : :: / 2, :: / 3, #:: / 2