LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
Main Page
Modules
Data Types List
Files
File List
File Members
icamax.f
Go to the documentation of this file.
1
*> \brief \b ICAMAX
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
* Definition:
9
* ===========
10
*
11
* INTEGER FUNCTION ICAMAX(N,CX,INCX)
12
*
13
* .. Scalar Arguments ..
14
* INTEGER INCX,N
15
* ..
16
* .. Array Arguments ..
17
* COMPLEX CX(*)
18
* ..
19
*
20
*
21
*> \par Purpose:
22
* =============
23
*>
24
*> \verbatim
25
*>
26
*> ICAMAX finds the index of the first element having maximum |Re(.)| + |Im(.)|
27
*> \endverbatim
28
*
29
* Authors:
30
* ========
31
*
32
*> \author Univ. of Tennessee
33
*> \author Univ. of California Berkeley
34
*> \author Univ. of Colorado Denver
35
*> \author NAG Ltd.
36
*
37
*> \date November 2015
38
*
39
*> \ingroup aux_blas
40
*
41
*> \par Further Details:
42
* =====================
43
*>
44
*> \verbatim
45
*>
46
*> jack dongarra, linpack, 3/11/78.
47
*> modified 3/93 to return if incx .le. 0.
48
*> modified 12/3/93, array(1) declarations changed to array(*)
49
*> \endverbatim
50
*>
51
* =====================================================================
52
INTEGER
FUNCTION
icamax
(N,CX,INCX)
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
COMPLEX
CX(*)
64
* ..
65
*
66
* =====================================================================
67
*
68
* .. Local Scalars ..
69
REAL
SMAX
70
INTEGER
I,IX
71
* ..
72
* .. External Functions ..
73
REAL
SCABS1
74
EXTERNAL
scabs1
75
* ..
76
icamax
= 0
77
IF
(n.LT.1 .OR. incx.LE.0)
RETURN
78
icamax
= 1
79
IF
(n.EQ.1)
RETURN
80
IF
(incx.EQ.1)
THEN
81
*
82
* code for increment equal to 1
83
*
84
smax = scabs1(cx(1))
85
DO
i = 2,n
86
IF
(scabs1(cx(i)).GT.smax)
THEN
87
icamax
= i
88
smax = scabs1(cx(i))
89
END IF
90
END DO
91
ELSE
92
*
93
* code for increment not equal to 1
94
*
95
ix = 1
96
smax = scabs1(cx(1))
97
ix = ix + incx
98
DO
i = 2,n
99
IF
(scabs1(cx(ix)).GT.smax)
THEN
100
icamax
= i
101
smax = scabs1(cx(ix))
102
END IF
103
ix = ix + incx
104
END DO
105
END IF
106
RETURN
107
END
icamax
integer function icamax(N, CX, INCX)
ICAMAX
Definition:
icamax.f:53
BLAS
SRC
icamax.f
Generated on Sun Jun 19 2016 20:52:08 for LAPACK by
1.8.10