
-(+Number, -Result)

   Unifies the negative of Number with Result.



Arguments
   Number              A number.
   Result              A variable or a number.

Type
   Arithmetic

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

    Result is -Number

    which should be preferred for portability.

   Number and Result have to be of the same type.


   In coroutining mode, if Number is uninstantiated, the call to -/2 is
   delayed until this variable is instantiated.




Modes and Determinism
   -(+, -) is det

Exceptions
     4 --- Number is not instantiated (non-coroutining mode only).
     5 --- Result and Number are numbers of different types.
    24 --- Number is not of a numeric type.
    24 --- Result is neither a number nor a variable.

Examples
   
Success:
      -(1, -1).
      -(5, Result).        (gives Result = -5)
      -(-6.2, Result).     (gives Result = 6.2)
Fail:
      -(1, 0).
Error:
      -(A, 6).                   (Error 4).
      -(1, -1.0).                (Error 5).
      -(1.0, -1).                (Error 5).
      -(4 + 2, -6).              (Error 24).
      -(1, r).                   (Error 24).





See Also
   is / 2
