Intel® Fortran Compiler 18.0 Developer Guide and Reference

SUM

Transformational Intrinsic Function (Generic): Returns the sum of all the elements in an entire array or in a specified dimension of an array.

result = SUM (array [,dim] [,mask])

array

(Input) Must be an array of type integer, real, or complex.

dim

(Input; optional) Must be a scalar integer with a value in the range 1 to n, where n is the rank of array.

mask

(Input; optional) Must be of type logical and conformable with array.

Results

The result is an array or a scalar of the same data type as array.

The result is a scalar if dim is omitted or array has rank one.

The following rules apply if dim is omitted:

The following rules apply if dim is specified:

Example

SUM ((/2, 3, 4/)) returns the value 9 (sum of 2 + 3 + 4). SUM ((/2, 3, 4/), DIM=1) returns the same result.

SUM (B, MASK=B .LT. 0.0) returns the arithmetic sum of the negative elements of B.

C is the array

  [ 1  2  3 ]
  [ 4  5  6 ].

SUM (C, DIM=1) returns the value (5, 7, 9), which is the sum of all elements in each column. 5 is the sum of 1 + 4 in column 1. 7 is the sum of 2 + 5 in column 2, and so forth.

SUM (C, DIM=2) returns the value (6, 15), which is the sum of all elements in each row. 6 is the sum of 1 + 2 + 3 in row 1. 15 is the sum of 4 + 5 + 6 in row 2.

The following shows another example:

 INTEGER array (2, 3), i, j(3)
 array = RESHAPE((/1, 2, 3, 4, 5, 6/), (/2, 3/))
 !  array is  1 3 5
 !            2 4 6
 i = SUM((/ 1, 2, 3 /))        ! returns 6
 j = SUM(array, DIM = 1)       ! returns [3 7 11]
 WRITE(*,*) i, j
 END

See Also