# Fortran Wiki product

## Description

Multiplies the elements of array along dimension dim if the corresponding element in mask is true.

## Standard

Fortran 95 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