[ Term Manipulation | 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. An empty bound
    (Lower > Upper) can be returned.
    The bounds are always returned as floating point numbers, regardless
    of any integrality constraint on the variable.
Modes and Determinism
- get_var_bounds(?, -, -) is det
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, get_bounds handler