home *** CD-ROM | disk | FTP | other *** search
- INTEGER FUNCTION ISAMAX(N,SX,INCX)
- C
- C FINDS THE INDEX OF ELEMENT HAVING MAX. ABSOLUTE VALUE.
- C JACK DONGARRA, LINPACK, 3/11/78.
- C
- REAL SX(1),SMAX
- INTEGER I,INCX,IX,N
- C
- ISAMAX = 0
- IF( N .LT. 1 ) RETURN
- ISAMAX = 1
- IF(N.EQ.1)RETURN
- IF(INCX.EQ.1)GO TO 20
- C
- C CODE FOR INCREMENT NOT EQUAL TO 1
- C
- IX = 1
- SMAX = ABS(SX(1))
- IX = IX + INCX
- DO 10 I = 2,N
- IF(ABS(SX(IX)).LE.SMAX) GO TO 5
- ISAMAX = I
- SMAX = ABS(SX(IX))
- 5 IX = IX + INCX
- 10 CONTINUE
- RETURN
- C
- C CODE FOR INCREMENT EQUAL TO 1
- C
- 20 SMAX = ABS(SX(1))
- DO 30 I = 2,N
- IF(ABS(SX(I)).LE.SMAX) GO TO 30
- ISAMAX = I
- SMAX = ABS(SX(I))
- 30 CONTINUE
- RETURN
- END