LAPACK 3.3.0

slctsx.f

Go to the documentation of this file.
00001       LOGICAL          FUNCTION SLCTSX( AR, AI, BETA )
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       REAL               AI, AR, BETA
00009 *     ..
00010 *
00011 *  Purpose
00012 *  =======
00013 *
00014 *  This function is used to determine what eigenvalues will be
00015 *  selected.  If this is part of the test driver SDRGSX, do not
00016 *  change the code UNLESS you are testing input examples and not
00017 *  using the built-in examples.
00018 *
00019 *  Arguments
00020 *  =========
00021 *
00022 *  AR      (input) REAL
00023 *          The numerator of the real part of a complex eigenvalue
00024 *          (AR/BETA) + i*(AI/BETA).
00025 *
00026 *  AI      (input) REAL
00027 *          The numerator of the imaginary part of a complex eigenvalue
00028 *          (AR/BETA) + i*(AI).
00029 *
00030 *  BETA    (input) REAL
00031 *          The denominator part of a complex eigenvalue
00032 *          (AR/BETA) + i*(AI/BETA).
00033 *
00034 *  =====================================================================
00035 *
00036 *     .. Scalars in Common ..
00037       LOGICAL            FS
00038       INTEGER            I, M, MPLUSN, N
00039 *     ..
00040 *     .. Common blocks ..
00041       COMMON             / MN / M, N, MPLUSN, I, FS
00042 *     ..
00043 *     .. Save statement ..
00044       SAVE
00045 *     ..
00046 *     .. Executable Statements ..
00047 *
00048       IF( FS ) THEN
00049          I = I + 1
00050          IF( I.LE.M ) THEN
00051             SLCTSX = .FALSE.
00052          ELSE
00053             SLCTSX = .TRUE.
00054          END IF
00055          IF( I.EQ.MPLUSN ) THEN
00056             FS = .FALSE.
00057             I = 0
00058          END IF
00059       ELSE
00060          I = I + 1
00061          IF( I.LE.N ) THEN
00062             SLCTSX = .TRUE.
00063          ELSE
00064             SLCTSX = .FALSE.
00065          END IF
00066          IF( I.EQ.MPLUSN ) THEN
00067             FS = .TRUE.
00068             I = 0
00069          END IF
00070       END IF
00071 *
00072 *       IF( AR/BETA.GT.0.0 )THEN
00073 *          SLCTSX = .TRUE.
00074 *       ELSE
00075 *          SLCTSX = .FALSE.
00076 *       END IF
00077 *
00078       RETURN
00079 *
00080 *     End of SLCTSX
00081 *
00082       END
 All Files Functions