count(3f) - [FORTRAN:INTRINSIC:ARRAY REDUCTION] Count function
Syntax
Description
Arguments
Return Value
Example
Standard
Class
result = count(mask [, dim, kind])
Counts the number of .true. elements in a logical MASK, or, if the DIM argument is supplied, counts the number of elements along each row of the array in the DIM direction. If the array has zero size, or all of the elements of MASK are false, then the result is 0.
MASK - The type shall be LOGICAL. DIM - (Optional) The type shall be INTEGER. KIND - (Optional) An INTEGER initialization expression indicating the kind parameter of the result.
The return value is of type INTEGER and of kind KIND. If KIND is absent, the return value is of default integer kind. If DIM is present, the result is an array with a rank one less than the rank of ARRAY, and a size corresponding to the shape of ARRAY with the DIM dimension removed.
Sample program:
program demo_count integer, dimension(2,3) :: a, b logical, dimension(2,3) :: mask a = reshape( (/ 1, 2, 3, 4, 5, 6 /), (/ 2, 3 /)) b = reshape( (/ 0, 7, 3, 4, 5, 8 /), (/ 2, 3 /)) print (3i3), a(1,:) print (3i3), a(2,:) print * print (3i3), b(1,:) print (3i3), b(2,:) print * mask = a.ne.b print (3l3), mask(1,:) print (3l3), mask(2,:) print * print (3i3), count(mask) print * print (3i3), count(mask, 1) print * print (3i3), count(mask, 2) end program demo_countExpected Results:
1 3 5 2 4 6
0 3 5 7 4 8
3
2 0 1 1
[[Fortran 95]] and later, with KIND argument [[Fortran 2003]] and later
Transformational function
count (3) | March 18, 2019 |