Transformational Intrinsic Function (Generic): Returns the sum of all the elements in an entire array or in a specified dimension of an array.
Syntax
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:
See Also
Examples
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