
max(+Vector, -Result)

   Evaluates the the arithmetic expressions in Vector and unifies their maximum
with Result.



Arguments
   Vector              A list, array or vector expression.
   Result              Output: number.

Type
   Arithmetic

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

    Result is max(Vector)

    which should be preferred.

    Vector must be a non-empty list, array or collection expression
    (as accepted by eval_to_list/2).  The elements of Vector must
    be numbers, and Result is the maximum of these numbers (converted
    to the widest type of the vector elements).

   In coroutining mode, if the list is only partly instantiated, the
   predicate delays until the list is complete.


Modes and Determinism
   max(+, -) is det

Modules
   This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions
     4 --- Vector is insufficiently instantiated (non-coroutining mode only).
     5 --- Vecotr is not a list, array, or vector expression.

Examples
   
Success:
      X is max([1,2,3]).                 % gives X = 3
      X is max([1,2.0,3]).               % gives X = 3.0

      X is max([](1,2,3)).               % gives X = 3

      A=[](4,5,6,7), X is max(A[2..3]).  % gives X = 6

Error:
      X is max([]).                      % type error


See Also
   is / 2, max / 3, min / 2, eval_to_list / 2
