1*> \brief \b SLCTSX 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 SLCTSX( AR, AI, BETA ) 12* 13* .. Scalar Arguments .. 14* REAL AI, AR, BETA 15* .. 16* 17* 18*> \par Purpose: 19* ============= 20*> 21*> \verbatim 22*> 23*> This function is used to determine what eigenvalues will be 24*> selected. If this is part of the test driver SDRGSX, do not 25*> change the code UNLESS you are testing input examples and not 26*> using the built-in examples. 27*> \endverbatim 28* 29* Arguments: 30* ========== 31* 32*> \param[in] AR 33*> \verbatim 34*> AR is REAL 35*> The numerator of the real part of a complex eigenvalue 36*> (AR/BETA) + i*(AI/BETA). 37*> \endverbatim 38*> 39*> \param[in] AI 40*> \verbatim 41*> AI is REAL 42*> The numerator of the imaginary part of a complex eigenvalue 43*> (AR/BETA) + i*(AI). 44*> \endverbatim 45*> 46*> \param[in] BETA 47*> \verbatim 48*> BETA is REAL 49*> The denominator part of a complex eigenvalue 50*> (AR/BETA) + i*(AI/BETA). 51*> \endverbatim 52* 53* Authors: 54* ======== 55* 56*> \author Univ. of Tennessee 57*> \author Univ. of California Berkeley 58*> \author Univ. of Colorado Denver 59*> \author NAG Ltd. 60* 61*> \ingroup single_eig 62* 63* ===================================================================== 64 LOGICAL FUNCTION SLCTSX( AR, AI, BETA ) 65* 66* -- LAPACK test routine -- 67* -- LAPACK is a software package provided by Univ. of Tennessee, -- 68* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 69* 70* .. Scalar Arguments .. 71 REAL AI, AR, BETA 72* .. 73* 74* ===================================================================== 75* 76* .. Scalars in Common .. 77 LOGICAL FS 78 INTEGER I, M, MPLUSN, N 79* .. 80* .. Common blocks .. 81 COMMON / MN / M, N, MPLUSN, I, FS 82* .. 83* .. Save statement .. 84 SAVE 85* .. 86* .. Executable Statements .. 87* 88 IF( FS ) THEN 89 I = I + 1 90 IF( I.LE.M ) THEN 91 SLCTSX = .FALSE. 92 ELSE 93 SLCTSX = .TRUE. 94 END IF 95 IF( I.EQ.MPLUSN ) THEN 96 FS = .FALSE. 97 I = 0 98 END IF 99 ELSE 100 I = I + 1 101 IF( I.LE.N ) THEN 102 SLCTSX = .TRUE. 103 ELSE 104 SLCTSX = .FALSE. 105 END IF 106 IF( I.EQ.MPLUSN ) THEN 107 FS = .TRUE. 108 I = 0 109 END IF 110 END IF 111* 112* IF( AR/BETA.GT.0.0 )THEN 113* SLCTSX = .TRUE. 114* ELSE 115* SLCTSX = .FALSE. 116* END IF 117* 118 RETURN 119* 120* End of SLCTSX 121* 122 END 123