00001 LOGICAL FUNCTION DLCTES( ZR, ZI, D ) 00002 * 00003 * -- LAPACK test routine (version 3.1) -- 00004 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. 00005 * November 2006 00006 * 00007 * .. Scalar Arguments .. 00008 DOUBLE PRECISION D, ZI, ZR 00009 * .. 00010 * 00011 * Purpose 00012 * ======= 00013 * 00014 * DLCTES returns .TRUE. if the eigenvalue (ZR/D) + sqrt(-1)*(ZI/D) 00015 * is to be selected (specifically, in this subroutine, if the real 00016 * part of the eigenvalue is negative), and otherwise it returns 00017 * .FALSE.. 00018 * 00019 * It is used by the test routine DDRGES to test whether the driver 00020 * routine DGGES succesfully sorts eigenvalues. 00021 * 00022 * Arguments 00023 * ========= 00024 * 00025 * ZR (input) DOUBLE PRECISION 00026 * The numerator of the real part of a complex eigenvalue 00027 * (ZR/D) + i*(ZI/D). 00028 * 00029 * ZI (input) DOUBLE PRECISION 00030 * The numerator of the imaginary part of a complex eigenvalue 00031 * (ZR/D) + i*(ZI). 00032 * 00033 * D (input) DOUBLE PRECISION 00034 * The denominator part of a complex eigenvalue 00035 * (ZR/D) + i*(ZI/D). 00036 * 00037 * ===================================================================== 00038 * 00039 * .. Parameters .. 00040 DOUBLE PRECISION ZERO, ONE 00041 PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 ) 00042 * .. 00043 * .. Intrinsic Functions .. 00044 INTRINSIC SIGN 00045 * .. 00046 * .. Executable Statements .. 00047 * 00048 IF( D.EQ.ZERO ) THEN 00049 DLCTES = ( ZR.LT.ZERO ) 00050 ELSE 00051 DLCTES = ( SIGN( ONE, ZR ).NE.SIGN( ONE, D ) ) 00052 END IF 00053 * 00054 RETURN 00055 * 00056 * End of DLCTES 00057 * 00058 END