Next: MAXVAL, Previous: MAXEXPONENT, Up: Intrinsic Procedures [Contents][Index]

### 9.191 `MAXLOC`

— Location of the maximum value within an array

*Description*:Determines the location of the element in the array with the maximum value, or, if the

`DIM`argument is supplied, determines the locations of the maximum element along each row of the array in the`DIM`direction. If`MASK`is present, only the elements for which`MASK`is`.TRUE.`

are considered. If more than one element in the array has the maximum value, the location returned is that of the first such element in array element order if the`BACK`is not present, or is false; if`BACK`is true, the location returned is that of the last such element. If the array has zero size, or all of the elements of`MASK`are`.FALSE.`

, then the result is an array of zeroes. Similarly, if`DIM`is supplied and all of the elements of`MASK`along a given row are zero, the result value for that row is zero.*Standard*:Fortran 95 and later;

`ARRAY`of`CHARACTER`

and the`KIND`argument are available in Fortran 2003 and later. The`BACK`argument is available in Fortran 2008 and later.*Class*:Transformational function

*Syntax*:`RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])`

`RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])`

*Arguments*:`ARRAY`Shall be an array of type `INTEGER`

or`REAL`

.`DIM`(Optional) Shall be a scalar of type `INTEGER`

, with a value between one and the rank of`ARRAY`, inclusive. It may not be an optional dummy argument.`MASK`Shall be of type `LOGICAL`

, and conformable with`ARRAY`.`KIND`(Optional) An `INTEGER`

initialization expression indicating the kind parameter of the result.`BACK`(Optional) A scalar of type `LOGICAL`

.*Return value*:If

`DIM`is absent, the result is a rank-one array with a length equal to the rank of`ARRAY`. If`DIM`is present, the result is an array with a rank one less than the rank of`ARRAY`, and a size corresponding to the size of`ARRAY`with the`DIM`dimension removed. If`DIM`is present and`ARRAY`has a rank of one, the result is a scalar. If the optional argument`KIND`is present, the result is an integer of kind`KIND`, otherwise it is of default kind.*See also*:

Next: MAXVAL, Previous: MAXEXPONENT, Up: Intrinsic Procedures [Contents][Index]