LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ clctes()

logical function clctes ( complex  Z,
complex  D 
)

CLCTES

Purpose:
 CLCTES returns .TRUE. if the eigenvalue Z/D is to be selected
 (specifically, in this subroutine, if the real part of the
 eigenvalue is negative), and otherwise it returns .FALSE..

 It is used by the test routine CDRGES to test whether the driver
 routine CGGES successfully sorts eigenvalues.
Parameters
[in]Z
          Z is COMPLEX
          The numerator part of a complex eigenvalue Z/D.
[in]D
          D is COMPLEX
          The denominator part of a complex eigenvalue Z/D.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 57 of file clctes.f.

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 *
logical function clctes(Z, D)
CLCTES
Definition: clctes.f:58