LAPACK 3.3.0

clctsx.f

Go to the documentation of this file.
00001       LOGICAL          FUNCTION CLCTSX( ALPHA, 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       COMPLEX            ALPHA, 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 CDRGSX, 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 *  ALPHA   (input) COMPLEX
00023 *  BETA    (input) COMPLEX
00024 *          parameters to decide whether the pair (ALPHA, BETA) is
00025 *          selected.
00026 *
00027 *  =====================================================================
00028 *
00029 *     .. Parameters ..
00030 *     REAL               ZERO
00031 *     PARAMETER          ( ZERO = 0.0E+0 )
00032 *     COMPLEX            CZERO
00033 *     PARAMETER          ( CZERO = ( 0.0E+0, 0.0E+0 ) )
00034 *     ..
00035 *     .. Scalars in Common ..
00036       LOGICAL            FS
00037       INTEGER            I, M, MPLUSN, N
00038 *     ..
00039 *     .. Common blocks ..
00040       COMMON             / MN / M, N, MPLUSN, I, FS
00041 *     ..
00042 *     .. Save statement ..
00043       SAVE
00044 *     ..
00045 *     .. Executable Statements ..
00046 *
00047       IF( FS ) THEN
00048          I = I + 1
00049          IF( I.LE.M ) THEN
00050             CLCTSX = .FALSE.
00051          ELSE
00052             CLCTSX = .TRUE.
00053          END IF
00054          IF( I.EQ.MPLUSN ) THEN
00055             FS = .FALSE.
00056             I = 0
00057          END IF
00058       ELSE
00059          I = I + 1
00060          IF( I.LE.N ) THEN
00061             CLCTSX = .TRUE.
00062          ELSE
00063             CLCTSX = .FALSE.
00064          END IF
00065          IF( I.EQ.MPLUSN ) THEN
00066             FS = .TRUE.
00067             I = 0
00068          END IF
00069       END IF
00070 *
00071 *      IF( BETA.EQ.CZERO ) THEN
00072 *         CLCTSX = ( REAL( ALPHA ).GT.ZERO )
00073 *      ELSE
00074 *         CLCTSX = ( REAL( ALPHA/BETA ).GT.ZERO )
00075 *      END IF
00076 *
00077       RETURN
00078 *
00079 *     End of CLCTSX
00080 *
00081       END
 All Files Functions