Array Sections and Masks
Count Mask
Count True Values
A comparison over an array produces a logical array, and count tells how many entries are true.
Program
Play the program to change the passing cutoff and count matching scores.
count_mask.f90
program count_mask_demo
implicit none
integer :: scores(5)
integer :: cutoff
logical :: passing(5)
integer :: total
scores = [70, 85, 90, 60, 75]
cutoff =
passing = scores >= cutoff
total = count(passing)
print '(I0)', total
end program count_mask_demo
program count_mask_demo
implicit none
integer :: scores(5)
integer :: cutoff
logical :: passing(5)
integer :: total
scores = [70, 85, 90, 60, 75]
cutoff =
passing = scores >= cutoff
total = count(passing)
print '(I0)', total
end program count_mask_demo
program count_mask_demo
implicit none
integer :: scores(5)
integer :: cutoff
logical :: passing(5)
integer :: total
scores = [70, 85, 90, 60, 75]
cutoff =
passing = scores >= cutoff
total = count(passing)
print '(I0)', total
end program count_mask_demo
logical array
`scores >= cutoff` compares each array element.
count
`count(passing)` returns how many logical values are true.
threshold
Changing the cutoff changes the mask before the count runs.