LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
zchkqrtp.f
Go to the documentation of this file.
00001 *> \brief \b ZCHKQRTP
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *  Definition:
00009 *  ===========
00010 *
00011 *       SUBROUTINE ZCHKQRTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 
00012 *                            NBVAL, NOUT )
00013 * 
00014 *       .. Scalar Arguments ..
00015 *       LOGICAL            TSTERR
00016 *       INTEGER            NM, NN, NNB, NOUT
00017 *       DOUBLE PRECISION   THRESH
00018 *       ..
00019 *       .. Array Arguments ..
00020 *       INTEGER            MVAL( * ), NBVAL( * ), NVAL( * )
00021 *
00022 *> \par Purpose:
00023 *  =============
00024 *>
00025 *> \verbatim
00026 *>
00027 *> ZCHKQRTP tests ZTPQRT and ZTPMQRT.
00028 *> \endverbatim
00029 *
00030 *  Arguments:
00031 *  ==========
00032 *
00033 *> \param[in] THRESH
00034 *> \verbatim
00035 *>          THRESH is DOUBLE PRECISION
00036 *>          The threshold value for the test ratios.  A result is
00037 *>          included in the output file if RESULT >= THRESH.  To have
00038 *>          every test ratio printed, use THRESH = 0.
00039 *> \endverbatim
00040 *>
00041 *> \param[in] TSTERR
00042 *> \verbatim
00043 *>          TSTERR is LOGICAL
00044 *>          Flag that indicates whether error exits are to be tested.
00045 *> \endverbatim
00046 *>
00047 *> \param[in] NM
00048 *> \verbatim
00049 *>          NM is INTEGER
00050 *>          The number of values of M contained in the vector MVAL.
00051 *> \endverbatim
00052 *>
00053 *> \param[in] MVAL
00054 *> \verbatim
00055 *>          MVAL is INTEGER array, dimension (NM)
00056 *>          The values of the matrix row dimension M.
00057 *> \endverbatim
00058 *>
00059 *> \param[in] NN
00060 *> \verbatim
00061 *>          NN is INTEGER
00062 *>          The number of values of N contained in the vector NVAL.
00063 *> \endverbatim
00064 *>
00065 *> \param[in] NVAL
00066 *> \verbatim
00067 *>          NVAL is INTEGER array, dimension (NN)
00068 *>          The values of the matrix column dimension N.
00069 *> \endverbatim
00070 *>
00071 *> \param[in] NNB
00072 *> \verbatim
00073 *>          NNB is INTEGER
00074 *>          The number of values of NB contained in the vector NBVAL.
00075 *> \endverbatim
00076 *>
00077 *> \param[in] NBVAL
00078 *> \verbatim
00079 *>          NBVAL is INTEGER array, dimension (NBVAL)
00080 *>          The values of the blocksize NB.
00081 *> \endverbatim
00082 *>
00083 *> \param[in] NOUT
00084 *> \verbatim
00085 *>          NOUT is INTEGER
00086 *>          The unit number for output.
00087 *> \endverbatim
00088 *
00089 *  Authors:
00090 *  ========
00091 *
00092 *> \author Univ. of Tennessee 
00093 *> \author Univ. of California Berkeley 
00094 *> \author Univ. of Colorado Denver 
00095 *> \author NAG Ltd. 
00096 *
00097 *> \date November 2011
00098 *
00099 *> \ingroup complex16_lin
00100 *
00101 *  =====================================================================
00102       SUBROUTINE ZCHKQRTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 
00103      $                     NBVAL, NOUT )
00104       IMPLICIT NONE
00105 *
00106 *  -- LAPACK test routine (version 3.4.0) --
00107 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00108 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00109 *     November 2011
00110 *
00111 *     .. Scalar Arguments ..
00112       LOGICAL            TSTERR
00113       INTEGER            NM, NN, NNB, NOUT
00114       DOUBLE PRECISION   THRESH
00115 *     ..
00116 *     .. Array Arguments ..
00117       INTEGER            MVAL( * ), NBVAL( * ), NVAL( * )
00118 *     ..
00119 *
00120 *  =====================================================================
00121 *
00122 *     .. Parameters ..
00123       INTEGER            NTESTS
00124       PARAMETER          ( NTESTS = 6 )
00125 *     ..
00126 *     .. Local Scalars ..
00127       CHARACTER*3        PATH
00128       INTEGER            I, J, K, T, L, M, N, NB, NFAIL, NERRS, NRUN,
00129      $                   MINMN      
00130 *     ..
00131 *     .. Local Arrays ..
00132       DOUBLE PRECISION   RESULT( NTESTS )
00133 *     ..
00134 *     .. External Subroutines ..
00135       EXTERNAL           ALAERH, ALAHD, ALASUM, ZERRQRTP
00136 *     ..
00137 *     .. Scalars in Common ..
00138       LOGICAL            LERR, OK
00139       CHARACTER*32       SRNAMT
00140       INTEGER            INFOT, NUNIT
00141 *     ..
00142 *     .. Common blocks ..
00143       COMMON             / INFOC / INFOT, NUNIT, OK, LERR
00144       COMMON             / SRNAMC / SRNAMT
00145 *     ..
00146 *     .. Executable Statements ..
00147 *
00148 *     Initialize constants
00149 *
00150       PATH( 1: 1 ) = 'Z'
00151       PATH( 2: 3 ) = 'QX'
00152       NRUN = 0
00153       NFAIL = 0
00154       NERRS = 0
00155 *
00156 *     Test the error exits
00157 *
00158       IF( TSTERR ) CALL ZERRQRTP( PATH, NOUT )
00159       INFOT = 0
00160 *
00161 *     Do for each value of M
00162 *
00163       DO I = 1, NM
00164          M = MVAL( I )
00165 *
00166 *        Do for each value of N
00167 *
00168          DO J = 1, NN
00169             N = NVAL( J )
00170 *
00171 *           Do for each value of L
00172 *
00173             MINMN = MIN( M, N )
00174             DO L = 0, MINMN, MAX( MINMN, 1 )
00175 *     
00176 *              Do for each possible value of NB
00177 *
00178                DO K = 1, NNB
00179                   NB = NBVAL( K )
00180 *
00181 *                 Test ZTPQRT and ZTPMQRT
00182 *     
00183                   IF( (NB.LE.N).AND.(NB.GT.0) ) THEN
00184                      CALL ZQRT05( M, N, L, NB, RESULT )
00185 *
00186 *                    Print information about the tests that did not
00187 *                    pass the threshold.
00188 *
00189                      DO T = 1, NTESTS
00190                         IF( RESULT( T ).GE.THRESH ) THEN
00191                            IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 )
00192      $                          CALL ALAHD( NOUT, PATH )
00193                            WRITE( NOUT, FMT = 9999 )M, N, NB,
00194      $                            T, RESULT( T )
00195                            NFAIL = NFAIL + 1
00196                         END IF
00197                      END DO
00198                      NRUN = NRUN + NTESTS
00199                   END IF
00200                END DO
00201             END DO
00202          END DO
00203       END DO
00204 *
00205 *     Print a summary of the results.
00206 *
00207       CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS )
00208 *
00209  9999 FORMAT( ' M=', I5, ', N=', I5, ', NB=', I4,
00210      $      ' test(', I2, ')=', G12.5 )
00211       RETURN
00212 *
00213 *     End of ZCHKQRTP
00214 *
00215       END
 All Files Functions