HP MLIB User's Guide Vol. 1 7th Ed.
42 HP MLIB User’s Guide
ISAMAX/IDAMAX/IIAMAX/ICAMAX/IZAMAX Index of maximum of magnitudes
Fortran
Equivalent
INTEGER*4 FUNCTION ISAMAX (N,X,INCX)
REAL*4 X(*),TEMP,XMAX
ISAMAX = 1
IF ( N .GT. 1 ) THEN
XMAX = ABS ( X(1) )
INCXA = ABS ( INCX )
IX = 1 + INCXA
DO 10 I = 2, N
TEMP = ABS ( X(IX) )
IF ( TEMP .GT. XMAX ) THEN
ISAMAX = I
XMAX = TEMP
END IF
IX = IX + INCXA
10 CONTINUE
ELSE IF ( N .LT. 1 ) THEN
ISAMAX = 0
END IF
RETURN
END
Example Locate the largest element of a REAL*8 vector x, where x is a vector 10
elements long stored in a one-dimensional array X of dimension 20.
INTEGER*4 I,IDAMAX,N,INCX
REAL*8 X(20)
N = 10
INCX = 1
I = IDAMAX (N,X,INCX)