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

## Syntax

MINVAL (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 MINVAL 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 smallest 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(*,*) minloc(i6) ! writes 1 write(*,*) minloc(i23) ! writes 1 1 write(*,*) minloc(i23,1) ! writes 1 2 2 write(*,*) minloc(i23,2) ! writes 1 2 write(*,*) minloc(i23,1,(i23 < 10)) ! writes 1 2 2