[ Arithmetic | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
breal_max(+Number, ?Result)
Extracts the upper floating point bound of Number
- Number
- A 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. If Number is not a bounded real,
the result returned is equivalent to converting it to a bounded real
first.
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 number.
- (5) type error
- Result is neither a variable nor a float.
Examples
Success:
?- breal_max(0.99__1.01, X).
X = 1.01
?- breal_max(1, X).
X = 1.0
?- breal_max(1.0, X).
X = 1.0
?- breal_max(1_10, X).
X = 0.10000000000000002
Error:
?- 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