Previous Next Contents

7.3  Initial value constraints

7.3.1  fd_domain/3, fd_domain_bool/1

Templates

fd_domain(+fd_variable_list_or_fd_variable, +integer, +integer)
fd_domain(?fd_variable, +integer, +integer)
fd_domain_bool(+fd_variable_list)
fd_domain_bool(?fd_variable)
Description

fd_domain(Vars, Lower, Upper) constraints each element X of Vars to take a value in Lower..Upper. This predicate is generally used to set the initial domain of variables to an interval. Vars can be also a single FD variable (or a single Prolog variable).

fd_domain_bool(Vars) is equivalent to fd_domain(Vars, 0, 1) and is used to declare boolean FD variables.

Errors


Vars is not a variable but is a partial list    instantiation_error

Vars is neither a variable nor an FD variable nor an integer nor a list    type_error(list, Vars)

an element E of the Vars list is neither a variable nor an FD variable nor an integer    type_error(fd_variable, E)

Lower is a variable    instantiation_error

Lower is neither a variable nor an integer    type_error(integer, Lower)

Upper is a variable    instantiation_error

Upper is neither a variable nor an integer    type_error(integer, Upper)


Portability

GNU Prolog predicate.

7.3.2  fd_domain/2

Templates

fd_domain(+fd_variable_list, +integer_list)
fd_domain(?fd_variable, +integer_list)
Description

fd_domain(Vars, Values) constraints each element X of the list Vars to take a value in the list Values. This predicate is generally used to set the initial domain of variables to a set of values. The domain of each variable of Vars uses a sparse representation. Vars can be also a single FD variable (or a single Prolog variable).

Errors


Vars is not a variable but is a partial list    instantiation_error

Vars is neither a variable nor an FD variable nor an integer nor a list    type_error(list, Vars)

an element E of the Vars list is neither a variable nor an FD variable nor an integer    type_error(fd_variable, E)

Values is a partial list or a list with an element E which is a variable    instantiation_error

Values is neither a partial list nor a list    type_error(list, Values)

an element E of the Values list is neither a variable nor an integer    type_error(integer, E)


Portability

GNU Prolog predicate.




Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

More about the copyright
Previous Next Contents