- ?Vars #:: ++Lo..Hi
- Constrain Vars to the integer interval between Lo and Hi.
- ?Vars $:: ++Lo..Hi
- Constrain Vars to the real interval between Lo and Hi.
- ?Vars :: ++Lo..Hi
- Constrain Vars to the interval between Lo and Hi.
- compare_instances_range(-Res, ?TermL, ?TermR)
- Compare instance handler for the range attribute.
- copy_term_range(?Meta, ?Copy)
- copy_term handler for range attribute.
- delayed_goals_number_range(?Meta, -Number)
- delayed_goals_number handler for the range attribute.
- int_tolerance(-Tol)
- Get the integer tolerance value.
- integers(?Vars)
- Vars' domain is the integer numbers.
- is_range(?Term)
- Succeeds if Term is a ranged variable.
- lwb(?Var, ++Bound)
- Constrain Var to be greater or equal to lower bound Bound.
- print_range(-Var, -Range)
- Returns the ranged variable Var's range.
- range(?, ?, ?, ?)
- No description available
- range_msg(?Var1, ?Var2, ?MSG)
- Computes the most specific generalisation of the ranges in Var1 and Var2.
- range_over(?, ?, ?, ?)
- No description available
- reals(?Vars)
- Vars' domain is the real numbers.
- set_default_range(++Lo, ++Hi)
- Set the default range to Lo..Hi.
- set_int_tolerance(++Tol)
- Set the integer tolerance value.
- set_range_bounds(?Var, ++Lo, ++Hi)
- set_bounds handler for range attribute.
- suspensions_range(?Meta, ?SuspLists, -SuspListsTail)
- Handler to retrieve suspensions from the range attribute
- test_unify_range(+Term, ?Attribute)
- test_unify handler for range attribute.
- unify_range(+Term, ?Attribute)
- Unification handler for range attribute.
- upb(?Var, ++Bound)
- Constrain Var to be less or equal to upper bound Bound.
- var_range(?Var, -Lo, -Up)
- Retrieve the current range of a variable (or number).
- var_type(?Var, -Type)
- Retrieve the type of a variable.
- struct range(type, lo, hi, wake_lo, wake_hi)
- No description available
- export op(700, xfx, [::, $::, #::])
HANDLERS
The library installs the following handlers (cf. ECLiPSe User Manual) in order to implement the semantics of ranged variables:
[eclipse 6]: X::0.0..5.5, Y::3..8, X=Y. X = X{3 .. 5} Y = X{3 .. 5} yes. [eclipse 8]: X::0.0..5.5, Y::3..8, instance(X,Y). no (more) solution. [eclipse 9]: X::0.0..5.5, Y::3..5, instance(Y,X). Y = Y{3 .. 5} X = X{0.0 .. 5.5} yes.
ATTRIBUTE STRUCTURE
Ranged variables are implemented as attributed variables. The attribute contains the following fields: