[ 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.

### Modes and Determinism

- breal_max(+, -) is det

### 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