product
- Date:
10-12-2011
NAME
PRODUCT - Forms the product of array elements
SYNOPSIS
PRODUCT([ARRAY=]array [,[DIM=]dim] [,[MASK=]mask])
IMPLEMENTATION
Cray Linux Environment (CLE)
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/).