LAPACK  3.6.0
LAPACK: Linear Algebra PACKage
isamax.f File Reference

Go to the source code of this file.

Functions/Subroutines

integer function isamax (N, SX, INCX)
 ISAMAX More...
 

Function/Subroutine Documentation

integer function isamax ( integer  N,
real, dimension(*)  SX,
integer  INCX 
)

ISAMAX

Purpose:
    ISAMAX finds the index of the first element having maximum absolute value.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2015
Further Details:
     jack dongarra, linpack, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 53 of file isamax.f.

53 *
54 * -- Reference BLAS level1 routine (version 3.6.0) --
55 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
56 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
57 * November 2015
58 *
59 * .. Scalar Arguments ..
60  INTEGER incx,n
61 * ..
62 * .. Array Arguments ..
63  REAL sx(*)
64 * ..
65 *
66 * =====================================================================
67 *
68 * .. Local Scalars ..
69  REAL smax
70  INTEGER i,ix
71 * ..
72 * .. Intrinsic Functions ..
73  INTRINSIC abs
74 * ..
75  isamax = 0
76  IF (n.LT.1 .OR. incx.LE.0) RETURN
77  isamax = 1
78  IF (n.EQ.1) RETURN
79  IF (incx.EQ.1) THEN
80 *
81 * code for increment equal to 1
82 *
83  smax = abs(sx(1))
84  DO i = 2,n
85  IF (abs(sx(i)).GT.smax) THEN
86  isamax = i
87  smax = abs(sx(i))
88  END IF
89  END DO
90  ELSE
91 *
92 * code for increment not equal to 1
93 *
94  ix = 1
95  smax = abs(sx(1))
96  ix = ix + incx
97  DO i = 2,n
98  IF (abs(sx(ix)).GT.smax) THEN
99  isamax = i
100  smax = abs(sx(ix))
101  END IF
102  ix = ix + incx
103  END DO
104  END IF
105  RETURN
integer function isamax(N, SX, INCX)
ISAMAX
Definition: isamax.f:53

Here is the caller graph for this function: