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

breal_max(+Number, ?Result)

Extracts the upper floating point bound of the bounded real Number
Number
A bounded real number.
Result
A variable or float.

Description

This predicate is used by the ECLiPSe compiler to expand evaluable arithmetic expressions. So a call to breal_max(Number, Result) is equivalent to
    Result is breal_max(Number).
A bounded real is a real number represented by a lower and upper bound in floating point format. This predicate extracts the upper bound and unifies it with Result.

Fail Conditions

Fails if the result of the evaluation does not unify with Result.

Resatisfiable

No

Exceptions

(4) instantiation fault
Number is not instantiated
(5) type error
Number is a not a bounded real number.
(5) type error
Result is neither a variable nor a float.

Examples

Success:
      ?- breal_max(0.99__1.01, X).
      X = 1.01

Error:
      ?- breal_max(1, Z).
      type error in breal_max(1, Z)

      ?- breal_max(1.0, Z).
      type error in breal_max(1.0, Z)

      ?- breal_max("a", Z).
      type error in breal_max("a", Z)

      ?- breal_max(2 + 4, Z).
      type error in breal_max(2 + 4, Z)

See Also

breal_min / 2, breal / 1, breal / 2, breal_bounds / 3, breal_from_bounds / 3, is / 2