Source module last modified on Thu, 2 Jul 1998, 23:17;
HTML image of Fortran source automatically generated by
for2html on Sun, 23 Jun 2002, 15:10.
integer function icamax(n,cx,incx)
#
# finds the index of element having max. absolute value.
# 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(*)
#
complex cx(*)
real smax
integer i,incx,ix,n
complex zdum
real cabs1
cabs1(zdum) = abs(real(zdum)) + abs(aimag(zdum))
#
icamax = 0
if( n<1 || incx<=0 ) return
icamax = 1
if(n==1)return
if(incx==1)go to 20
#
# code for increment not equal to 1
#
ix = 1
smax = cabs1(cx(1))
ix = ix + incx
do 10 i = 2,n
if(cabs1(cx(ix))<=smax) go to 5
icamax = i
smax = cabs1(cx(ix))
5 ix = ix + incx
10 continue
return
#
# code for increment equal to 1
#
20 smax = cabs1(cx(1))
do 30 i = 2,n
if(cabs1(cx(i))<=smax) go to 30
icamax = i
smax = cabs1(cx(i))
30 continue
return
end