LAPACK 3.11.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
clctes.f
Go to the documentation of this file.
1*> \brief \b CLCTES
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8* Definition:
9* ===========
10*
11* LOGICAL FUNCTION CLCTES( Z, D )
12*
13* .. Scalar Arguments ..
14* COMPLEX D, Z
15* ..
16*
17*
18*> \par Purpose:
19* =============
20*>
21*> \verbatim
22*>
23*> CLCTES returns .TRUE. if the eigenvalue Z/D is to be selected
24*> (specifically, in this subroutine, if the real part of the
25*> eigenvalue is negative), and otherwise it returns .FALSE..
26*>
27*> It is used by the test routine CDRGES to test whether the driver
28*> routine CGGES successfully sorts eigenvalues.
29*> \endverbatim
30*
31* Arguments:
32* ==========
33*
34*> \param[in] Z
35*> \verbatim
36*> Z is COMPLEX
37*> The numerator part of a complex eigenvalue Z/D.
38*> \endverbatim
39*>
40*> \param[in] D
41*> \verbatim
42*> D is COMPLEX
43*> The denominator part of a complex eigenvalue Z/D.
44*> \endverbatim
45*
46* Authors:
47* ========
48*
49*> \author Univ. of Tennessee
50*> \author Univ. of California Berkeley
51*> \author Univ. of Colorado Denver
52*> \author NAG Ltd.
53*
54*> \ingroup complex_eig
55*
56* =====================================================================
57 LOGICAL FUNCTION clctes( Z, D )
58*
59* -- LAPACK test routine --
60* -- LAPACK is a software package provided by Univ. of Tennessee, --
61* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
62*
63* .. Scalar Arguments ..
64 COMPLEX d, z
65* ..
66*
67* =====================================================================
68*
69* .. Parameters ..
70*
71 REAL zero, one
72 parameter( zero = 0.0e+0, one = 1.0e+0 )
73 COMPLEX czero
74 parameter( czero = ( 0.0e+0, 0.0e+0 ) )
75* ..
76* .. Local Scalars ..
77 REAL zmax
78* ..
79* .. Intrinsic Functions ..
80 INTRINSIC abs, aimag, max, real, sign
81* ..
82* .. Executable Statements ..
83*
84 IF( d.EQ.czero ) THEN
85 clctes = ( real( z ).LT.zero )
86 ELSE
87 IF( real( z ).EQ.zero .OR. real( d ).EQ.zero ) THEN
88 clctes = ( sign( one, aimag( z ) ).NE.
89 $ sign( one, aimag( d ) ) )
90 ELSE IF( aimag( z ).EQ.zero .OR. aimag( d ).EQ.zero ) THEN
91 clctes = ( sign( one, real( z ) ).NE.
92 $ sign( one, real( d ) ) )
93 ELSE
94 zmax = max( abs( real( z ) ), abs( aimag( z ) ) )
95 clctes = ( ( real( z ) / zmax )*real( d )+
96 $ ( aimag( z ) / zmax )*aimag( d ).LT.zero )
97 END IF
98 END IF
99*
100 RETURN
101*
102* End of CLCTES
103*
104 END
logical function clctes(Z, D)
CLCTES
Definition: clctes.f:58