I would like to merge into one. For that, I think about a function that returns a vector of two components (sum/count and count) and then direct indexing of function
My first function is this
INTEGER FUNCTION poor(x,m,n)
REAL, DIMENSION (m,n) :: x
INTEGER m, n, count, i, j
REAL cell_mean ! This is a function that returns a real number
count = 0
DO i = 1, m
DO j = 1, n
IF (x(i,j) < cell_mean(x,m,n,i,j)) THEN
count = count + 1
ELSE
count = count
END IF
END DO
END DO
poor = count
END FUNCTION
My second function is this:
REAL FUNCTION middle_value(x,m,n)
REAL, DIMENSION (m,n) :: x
INTEGER m, n, i, j count
REAL cell_mean, sum
sum = 0
count = 0
DO i = 1, m
DO j = 1, n
IF (x(i,j) < cell_mean(x,m,n,i,j)) THEN
sum = sum + x(i,j)
count = count + 1
ELSE
sum = sum
count = count
END IF
END DO
END DO
IF (count == 0) THEN
middle_value = 0
ELSE
middle_value = sum / count
END IF
END FUNCTION