[ Term Manipulation | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

get_var_bounds(?Var, ?Lower, ?Upper)

Retrieve bounds of a numeric variable in a generic way
?Var
Variable or number.
?Lower
Float or variable.
?Upper
Float or variable.

Description

This predicate is intended to be used on attributed variables that have a numeric domain. The bound information is collected from the variable's attributes via their get_bounds-handlers. If several attributes contain bound information, the results are intersected to produce the tightest bound information available.

The bounds are always returned as floating point numbers, regardless of any integrality constraint on the variable.

Exceptions

(5) type error
Var is not a variable or number

Examples

    [eclipse 1]: lib(fd), lib(ic).
    yes.

    [eclipse 2]: ic:(X::3.0..9.0), fd:(X::1..7), get_var_bounds(X,L,U).
    X = X{ic : 3.0..9.0, fd:[1..7]}
    L = 3.0
    U = 7.0
    Yes (0.00s cpu)

    [eclipse 3]: get_var_bounds(X,L,U).
    X = X
    L = -1.0Inf
    U = 1.0Inf
    yes.

    [eclipse 4]: get_var_bounds(5,L,U).
    L = 5.0
    U = 5.0
    yes.

    [eclipse 5]: get_var_bounds(a,L,U).
    type error in get_var_bounds(a, L, U)

See Also

set_var_bounds / 3