The MAXVAL function returns the maximum value of elements of an array, along a given dimension, for which a mask is true.

## Syntax

MAXVAL (array [,dim] [,mask])

*array* is an INTENT(IN) array of type INTEGER or REAL.

*dim* is an INTENT(IN) scalar INTEGER in the range *dim* ≤ *n**n* is the rank of *array*. The actual argument to MAXVAL must not be an optional dummy argument.

*mask* is an INTENT(IN) scalar or array of type LOGICAL, and must be conformable with *array*.

The result is the same type and kind as *array*.

If *dim* is present, the result is an array of rank n-1 and of shape (*d _{1},d_{2}, ...,d_{dim-1},d_{dim+1}, ...,d_{n}*) where (

If *dim* is absent, or *array* is rank one, the result is a scalar with the value of the largest element of *array*.

If *mask* is present, the elements of *array* for which *mask* is false are not considered.

## Example

integer :: i6(6) = (/-14,3,0,-2,19,1/) integer :: i23(2,3) = reshape((/-14,3,0,-2,19,1/), shape(i23)) write(*,'(2i4)') i23 ! writes -14 3 ! 0 -2 ! 19 1 write(*,*) maxval(i6) ! writes 19 write(*,*) maxval(i23) ! writes 19 write(*,*) maxval(i23,dim=1) ! writes 3 0 19 write(*,*) maxval(i23,dim=2) ! writes 19 3 write(*,*) maxval(i23,dim=1,mask=(i23 < 10)) ! writes 3 0 1