
breal(+Number, -Result)

   Converts Number into a breal number and unifies it with Result.

Arguments
   Number              A number.
   Result              A variable or bounded real number.

Type
   Arithmetic

Description
    This predicate is used by the ECLiPSe compiler to expand evaluable
    arithmetic expressions.  So the call to breal(Number, Result) is
    equivalent to

    Result is breal(Number)

    which should be preferred.


Modes and Determinism
   breal(+, -) is det

Exceptions
     4 --- Number is not instantiated (non-coroutining mode only).
    24 --- Number is not of a numeric type.

Examples
   
Success:
    ?- breal(25, X).
    X = 25.0__25.0

    ?- breal(1.5, X).
    X = 1.5__1.5

    ?- breal(3_4, X).
    X = 0.74999999999999989__0.75000000000000011

    ?- breal(1.0__1.01, X).
    X = 1.0__1.01

Fail:
    ?- breal(1.0, 0.9__1.1).
    No (0.00s cpu)

    ?- breal(3, 3).
    No (0.00s cpu)

    ?- breal(1, r).
    No (0.00s cpu)

Error:
    ?- breal(A, X).
    instantiation fault in breal(A, X)

    ?- breal(4 + 2, X).
    number expected in breal(4 + 2, X)


See Also
   integer / 2, float / 2, rational / 2, is / 2, breal_min / 2, breal_max / 2, breal_bounds / 3, breal_from_bounds / 3, breal / 1
