Next: , Previous: PRESENT, Up: Intrinsic Procedures


6.168 PRODUCT — Product of array elements

Description:
Multiplies the elements of ARRAY along dimension DIM if the corresponding element in MASK is TRUE.
Standard:
F95 and later
Class:
Transformational function
Syntax:
RESULT = PRODUCT(ARRAY[, MASK]) RESULT = PRODUCT(ARRAY, DIM[, MASK])
Arguments:

ARRAY Shall be an array of type INTEGER(*), REAL(*) or COMPLEX(*).
DIM (Optional) shall be a scalar of type INTEGER with a value in the range from 1 to n, where n equals the rank of ARRAY.
MASK (Optional) shall be of type LOGICAL and either be a scalar or an array of the same shape as ARRAY.

Return value:
The result is of the same type as ARRAY.

If DIM is absent, a scalar with the product of all elements in ARRAY is returned. Otherwise, an array of rank n-1, where n equals the rank of ARRAY, and a shape similar to that of ARRAY with dimension DIM dropped is returned.

Example:
          PROGRAM test_product
            INTEGER :: x(5) = (/ 1, 2, 3, 4 ,5 /)
            print *, PRODUCT(x)                    ! all elements, product = 120
            print *, PRODUCT(x, MASK=MOD(x, 2)==1) ! odd elements, product = 15
          END PROGRAM
     

See also:
SUM