Lahey/Fujitsu Fortran

MINLOC Function

Description

The MINLOC function returns the location of the first element in an array having the minimum value of all the elements identified by a mask.

Syntax

MINLOC (array, dim, mask)

Required Arguments

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

Optional Arguments

dim is an INTENT(IN) scalar INTEGER in the range 1 ≤ dimn, where n is the rank of array. The corresponding actual argument must not be an optional dummy argument.

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

Result

The result is of type default INTEGER.

If dim is present, the result is an array of rank n-1 where n is the rank of array. The result values are the locations having the minimum value along dimension dim.

If dim is absent, the result is an array of rank one whose element values are the values of the subscripts of the first element in array to have the minimum value of all of the elements 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