1*> \brief \b ZCHKLQTP 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE ZCHKLQTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 12* NBVAL, NOUT ) 13* 14* .. Scalar Arguments .. 15* LOGICAL TSTERR 16* INTEGER NM, NN, NNB, NOUT 17* DOUBLE PRECISION THRESH 18* .. 19* .. Array Arguments .. 20* INTEGER MVAL( * ), NBVAL( * ), NVAL( * ) 21* 22*> \par Purpose: 23* ============= 24*> 25*> \verbatim 26*> 27*> ZCHKLQTP tests ZTPLQT and ZTPMLQT. 28*> \endverbatim 29* 30* Arguments: 31* ========== 32* 33*> \param[in] THRESH 34*> \verbatim 35*> THRESH is DOUBLE PRECISION 36*> The threshold value for the test ratios. A result is 37*> included in the output file if RESULT >= THRESH. To have 38*> every test ratio printed, use THRESH = 0. 39*> \endverbatim 40*> 41*> \param[in] TSTERR 42*> \verbatim 43*> TSTERR is LOGICAL 44*> Flag that indicates whether error exits are to be tested. 45*> \endverbatim 46*> 47*> \param[in] NM 48*> \verbatim 49*> NM is INTEGER 50*> The number of values of M contained in the vector MVAL. 51*> \endverbatim 52*> 53*> \param[in] MVAL 54*> \verbatim 55*> MVAL is INTEGER array, dimension (NM) 56*> The values of the matrix row dimension M. 57*> \endverbatim 58*> 59*> \param[in] NN 60*> \verbatim 61*> NN is INTEGER 62*> The number of values of N contained in the vector NVAL. 63*> \endverbatim 64*> 65*> \param[in] NVAL 66*> \verbatim 67*> NVAL is INTEGER array, dimension (NN) 68*> The values of the matrix column dimension N. 69*> \endverbatim 70*> 71*> \param[in] NNB 72*> \verbatim 73*> NNB is INTEGER 74*> The number of values of NB contained in the vector NBVAL. 75*> \endverbatim 76*> 77*> \param[in] NBVAL 78*> \verbatim 79*> NBVAL is INTEGER array, dimension (NNB) 80*> The values of the blocksize NB. 81*> \endverbatim 82*> 83*> \param[in] NOUT 84*> \verbatim 85*> NOUT is INTEGER 86*> The unit number for output. 87*> \endverbatim 88* 89* Authors: 90* ======== 91* 92*> \author Univ. of Tennessee 93*> \author Univ. of California Berkeley 94*> \author Univ. of Colorado Denver 95*> \author NAG Ltd. 96* 97*> \ingroup double_lin 98* 99* ===================================================================== 100 SUBROUTINE ZCHKLQTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, 101 $ NBVAL, NOUT ) 102 IMPLICIT NONE 103* 104* -- LAPACK test routine -- 105* -- LAPACK is a software package provided by Univ. of Tennessee, -- 106* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 107* 108* .. Scalar Arguments .. 109 LOGICAL TSTERR 110 INTEGER NM, NN, NNB, NOUT 111 DOUBLE PRECISION THRESH 112* .. 113* .. Array Arguments .. 114 INTEGER MVAL( * ), NBVAL( * ), NVAL( * ) 115* .. 116* 117* ===================================================================== 118* 119* .. Parameters .. 120 INTEGER NTESTS 121 PARAMETER ( NTESTS = 6 ) 122* .. 123* .. Local Scalars .. 124 CHARACTER*3 PATH 125 INTEGER I, J, K, L, T, M, N, NB, NFAIL, NERRS, NRUN, 126 $ MINMN 127* .. 128* .. Local Arrays .. 129 DOUBLE PRECISION RESULT( NTESTS ) 130* .. 131* .. External Subroutines .. 132 EXTERNAL ALAERH, ALAHD, ALASUM, ZERRLQTP, ZLQT04 133* .. 134* .. Scalars in Common .. 135 LOGICAL LERR, OK 136 CHARACTER*32 SRNAMT 137 INTEGER INFOT, NUNIT 138* .. 139* .. Common blocks .. 140 COMMON / INFOC / INFOT, NUNIT, OK, LERR 141 COMMON / SRNAMC / SRNAMT 142* .. 143* .. Executable Statements .. 144* 145* Initialize constants 146* 147 PATH( 1: 1 ) = 'Z' 148 PATH( 2: 3 ) = 'XQ' 149 NRUN = 0 150 NFAIL = 0 151 NERRS = 0 152* 153* Test the error exits 154* 155 IF( TSTERR ) CALL ZERRLQTP( PATH, NOUT ) 156 INFOT = 0 157* 158* Do for each value of M 159* 160 DO I = 1, NM 161 M = MVAL( I ) 162* 163* Do for each value of N 164* 165 DO J = 1, NN 166 N = NVAL( J ) 167* 168* Do for each value of L 169* 170 MINMN = MIN( M, N ) 171 DO L = 0, MINMN, MAX( MINMN, 1 ) 172* 173* Do for each possible value of NB 174* 175 DO K = 1, NNB 176 NB = NBVAL( K ) 177* 178* Test DTPLQT and DTPMLQT 179* 180 IF( (NB.LE.M).AND.(NB.GT.0) ) THEN 181 CALL ZLQT05( M, N, L, NB, RESULT ) 182* 183* Print information about the tests that did not 184* pass the threshold. 185* 186 DO T = 1, NTESTS 187 IF( RESULT( T ).GE.THRESH ) THEN 188 IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) 189 $ CALL ALAHD( NOUT, PATH ) 190 WRITE( NOUT, FMT = 9999 )M, N, NB, L, 191 $ T, RESULT( T ) 192 NFAIL = NFAIL + 1 193 END IF 194 END DO 195 NRUN = NRUN + NTESTS 196 END IF 197 END DO 198 END DO 199 END DO 200 END DO 201* 202* Print a summary of the results. 203* 204 CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS ) 205* 206 9999 FORMAT( ' M=', I5, ', N=', I5, ', NB=', I4,' L=', I4, 207 $ ' test(', I2, ')=', G12.5 ) 208 RETURN 209* 210* End of ZCHKLQTP 211* 212 END 213