product(3I)

PRODUCT - Forms the product of array elements

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     PRODUCT - Forms the product of array elements

SYNOPSIS
     PRODUCT ([ARRAY=]array [,[DIM=]dim] [,[MASK=]mask])

STANDARDS
     Fortran

DESCRIPTION
     The PRODUCT intrinsic function forms the product of all the elements
     of array along dimension dim corresponding to the true elements of
     mask.  It accepts the following arguments:

     array     Must be of type integer, real, or complex.  It must not be
               scalar.

     dim       Must be scalar and of type integer with a value in the range
               1 <= dim <= n, where n is the rank of array.  The
               corresponding actual argument must not be an optional dummy
               argument.

     mask      Must be of type logical and must be conformable with array.

     PRODUCT is a transformational intrinsic function.  The name of this
     intrinsic cannot be passed as an argument.

RETURN VALUES
     The result has the same type and type parameter as array.  The result
     is scalar if dim is absent or array has rank one; otherwise, the
     result is an array of rank n-1 of shape
     (d1, d2, ..., ddim-1, ddim+1, ..., dn),

     where (d1, d2, ..., dn)

     is the shape of array.

     The result of PRODUCT(array) has a value equal to the product of all
     the elements of array or has the value 1 if array has size 0.

     The result of PRODUCT(array,MASK=mask) has a value equal to the
     product of the elements of array corresponding to the true elements of
     mask or has the value 1 if there are no true elements.

     If array has rank one, PRODUCT(array,dim[,mask]) has a value equal to
     that of PRODUCT(array[,MASK=mask]).  Otherwise, the value of element
     (s1, s2, ..., sdim-1, sdim+1, ..., sn)

     of PRODUCT(array,dim[,mask]) is equal to
     PRODUCT(array (s1, s2, ..., sdim-1, : , sdim+1, ..., sn))

     [, MASK=mask (s1, s2, ..., sdim-1, : , sdim+1, ..., sn)]).

EXAMPLES
     Example 1:  PRODUCT((/1,2,3/)) yields 6.

     Example 2:  PRODUCT(C,MASK=C.GT.0.0) yields the product of the
     positive elements of C.

     Example 3:  Assume that B is the following array:

     | 1 3 5 |
     | 2 4 6 |

     PRODUCT(B,DIM=1) yields (/2,12,30/).

     PRODUCT(B,DIM=2) yields (/15,48/).