LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches
zlctes.f
Go to the documentation of this file.
1*> \brief \b ZLCTES
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 ZLCTES( Z, D )
12*
13* .. Scalar Arguments ..
14* COMPLEX*16 D, Z
15* ..
16*
17*
18*> \par Purpose:
19* =============
20*>
21*> \verbatim
22*>
23*> ZLCTES 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 ZDRGES to test whether the driver
28*> routine ZGGES successfully sorts eigenvalues.
29*> \endverbatim
30*
31* Arguments:
32* ==========
33*
34*> \param[in] Z
35*> \verbatim
36*> Z is COMPLEX*16
37*> The numerator part of a complex eigenvalue Z/D.
38*> \endverbatim
39*>
40*> \param[in] D
41*> \verbatim
42*> D is COMPLEX*16
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 complex16_eig
55*
56* =====================================================================
57 LOGICAL FUNCTION zlctes( 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*16 d, z
65* ..
66*
67* =====================================================================
68*
69* .. Parameters ..
70*
71 DOUBLE PRECISION zero, one
72 parameter( zero = 0.0d+0, one = 1.0d+0 )
73 COMPLEX*16 czero
74 parameter( czero = ( 0.0d+0, 0.0d+0 ) )
75* ..
76* .. Local Scalars ..
77 DOUBLE PRECISION zmax
78* ..
79* .. Intrinsic Functions ..
80 INTRINSIC abs, dble, dimag, max, sign
81* ..
82* .. Executable Statements ..
83*
84 IF( d.EQ.czero ) THEN
85 zlctes = ( dble( z ).LT.zero )
86 ELSE
87 IF( dble( z ).EQ.zero .OR. dble( d ).EQ.zero ) THEN
88 zlctes = ( sign( one, dimag( z ) ).NE.
89 \$ sign( one, dimag( d ) ) )
90 ELSE IF( dimag( z ).EQ.zero .OR. dimag( d ).EQ.zero ) THEN
91 zlctes = ( sign( one, dble( z ) ).NE.
92 \$ sign( one, dble( d ) ) )
93 ELSE
94 zmax = max( abs( dble( z ) ), abs( dimag( z ) ) )
95 zlctes = ( ( dble( z ) / zmax )*dble( d )+
96 \$ ( dimag( z ) / zmax )*dimag( d ).LT.zero )
97 END IF
98 END IF
99*
100 RETURN
101*
102* End of ZLCTES
103*
104 END
logical function zlctes(Z, D)
ZLCTES
Definition: zlctes.f:58