Copyright Digital Equipment Corp. All rights reserved.

PRODUCT

 PRODUCT (array, [,dim] [,mask])

 Class:  Transformational function - Generic

 Returns the product of all the elements in an entire array or in a
 specified dimension of an array.

 The "array" can be of integer or real type.  The "dim" is optional
 and must be a scalar integer with a value in the range 1 to n,
 where "n" is the rank of "array".  The "mask" is optional and must
 be a logical array that is conformable with "array".

 The result is the same data type as "array".  The result is a
 scalar if "dim" is absent or "array" has rank one.  Otherwise, the
 result is an array with rank that is one less than "array", and
 shape (d1, d2,..., d"dim"-1, d"dim"+1,..., dn), where (d1, d2,...,
 dn) is the shape of "array".

 If only "array" appears, the result is the product of all elements
 of "array".  If "array" has size zero, the result is 1.

 If "array" and "mask" both appear, the result is the product of all
 elements of "array" corresponding to true elements of "mask".  If
 "array" has size zero, or every element of "mask" has the value
 .FALSE., the result is 1.

 If "dim" also appears and "array" has rank one, the value is the
 same as PRODUCT (array [,mask=mask]).  Otherwise, the value of
 element (s1, s2,..., s"dim"-1, s"dim"+1,..., sn) of PRODUCT (array,
 dim, [,mask]) is equal to PRODUCT (array (s1, s2,..., s"dim"-1, :,
 s"dim"+1, ..., sn)) [mask=mask (s1, s2, ..., s"dim"-1, :, s "dim"+1
 ..., sn)].

 Examples:

 PRODUCT ((/2, 3, 4/)) and PRODUCT ((/2, 3, 4/), DIM=1) returns the
 value 24.

 PRODUCT (C, MASK=C .LT.  0.0) returns the product of the negative
 elements of C.

 Consider that A is the array |1 4 7|.
                              |2 3 5|

 PRODUCT (A, DIM=1) returns the value (2, 12, 35).

 PRODUCT (A, DIM=2) returns the value (28, 30).