Lahey/Fujitsu Fortran

COUNT Function

Description

The COUNT function counts the number of true elements in a logical mask either for an entire mask or along a given dimension of the mask.

Syntax

COUNT (mask [, dim] )

Required Arguments

mask is an INTENT(IN) array of type LOGICAL. It must not be scalar.

Optional Arguments

dim is an INTENT(IN) scalar of type INTEGER with a value within the range 1 ≤ dimn, where n is the rank of mask. The corresponding actual argument must not be an optional dummy argument.

Result

The result is of type default INTEGER. Its value and rank are computed as follows:

  1. The function will return a scalar logical value if mask has rank one, or if dim is absent. The result is the number of elements for which mask is true.
  2. The function will return a logical array of rank n-1 if dim is present and mask has rank two or greater. The resulting array is of shape (d1,d2, ...,ddim-1,ddim+1, ...,dn) where (d1,d2, ...,dn) is the shape of mask and n is the rank of mask. The result is the number of true elements for each corresponding vector in mask.

Example

integer,dimension(2,3) :: a,b a=reshape((/1,2,3,4,5,6/),shape(a)) write(*,'(2i3)') a ! writes 1 2 ! 3 4 ! 5 6 b=reshape((/1,2,3,5,6,4/), (/2,3/)) write(*,'(2i3)') b ! writes 1 2 ! 3 5 ! 6 4 write(*,*) count(a==b) ! writes 3 write(*,*) count(a==b,dim=1) ! writes 2 1 0 write(*,*) count(a==b,dim=2) ! writes 2 1