summaryrefslogtreecommitdiff
path: root/TESTING/LIN/dchklqtp.f
diff options
context:
space:
mode:
Diffstat (limited to 'TESTING/LIN/dchklqtp.f')
-rw-r--r--TESTING/LIN/dchklqtp.f215
1 files changed, 215 insertions, 0 deletions
diff --git a/TESTING/LIN/dchklqtp.f b/TESTING/LIN/dchklqtp.f
new file mode 100644
index 00000000..1cc82ec5
--- /dev/null
+++ b/TESTING/LIN/dchklqtp.f
@@ -0,0 +1,215 @@
+*> \brief \b DCHKLQTP
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE DCHKLQTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB,
+* NBVAL, NOUT )
+*
+* .. Scalar Arguments ..
+* LOGICAL TSTERR
+* INTEGER NM, NN, NNB, NOUT
+* DOUBLE PRECISION THRESH
+* ..
+* .. Array Arguments ..
+* INTEGER MVAL( * ), NBVAL( * ), NVAL( * )
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> DCHKLQTP tests DTPLQT and DTPMLQT.
+*> \endverbatim
+*
+* Arguments:
+* ==========
+*
+*> \param[in] THRESH
+*> \verbatim
+*> THRESH is DOUBLE PRECISION
+*> The threshold value for the test ratios. A result is
+*> included in the output file if RESULT >= THRESH. To have
+*> every test ratio printed, use THRESH = 0.
+*> \endverbatim
+*>
+*> \param[in] TSTERR
+*> \verbatim
+*> TSTERR is LOGICAL
+*> Flag that indicates whether error exits are to be tested.
+*> \endverbatim
+*>
+*> \param[in] NM
+*> \verbatim
+*> NM is INTEGER
+*> The number of values of M contained in the vector MVAL.
+*> \endverbatim
+*>
+*> \param[in] MVAL
+*> \verbatim
+*> MVAL is INTEGER array, dimension (NM)
+*> The values of the matrix row dimension M.
+*> \endverbatim
+*>
+*> \param[in] NN
+*> \verbatim
+*> NN is INTEGER
+*> The number of values of N contained in the vector NVAL.
+*> \endverbatim
+*>
+*> \param[in] NVAL
+*> \verbatim
+*> NVAL is INTEGER array, dimension (NN)
+*> The values of the matrix column dimension N.
+*> \endverbatim
+*>
+*> \param[in] NNB
+*> \verbatim
+*> NNB is INTEGER
+*> The number of values of NB contained in the vector NBVAL.
+*> \endverbatim
+*>
+*> \param[in] NBVAL
+*> \verbatim
+*> NBVAL is INTEGER array, dimension (NBVAL)
+*> The values of the blocksize NB.
+*> \endverbatim
+*>
+*> \param[in] NOUT
+*> \verbatim
+*> NOUT is INTEGER
+*> The unit number for output.
+*> \endverbatim
+*
+* Authors:
+* ========
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \date November 2011
+*
+*> \ingroup double_lin
+*
+* =====================================================================
+ SUBROUTINE DCHKLQTP( THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB,
+ $ NBVAL, NOUT )
+ IMPLICIT NONE
+*
+* -- LAPACK test routine (version 3.4.0) --
+* -- LAPACK is a software package provided by Univ. of Tennessee, --
+* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
+* November 2011
+*
+* .. Scalar Arguments ..
+ LOGICAL TSTERR
+ INTEGER NM, NN, NNB, NOUT
+ DOUBLE PRECISION THRESH
+* ..
+* .. Array Arguments ..
+ INTEGER MVAL( * ), NBVAL( * ), NVAL( * )
+* ..
+*
+* =====================================================================
+*
+* .. Parameters ..
+ INTEGER NTESTS
+ PARAMETER ( NTESTS = 6 )
+* ..
+* .. Local Scalars ..
+ CHARACTER*3 PATH
+ INTEGER I, J, K, L, T, M, N, NB, NFAIL, NERRS, NRUN,
+ $ MINMN
+* ..
+* .. Local Arrays ..
+ DOUBLE PRECISION RESULT( NTESTS )
+* ..
+* .. External Subroutines ..
+ EXTERNAL ALAERH, ALAHD, ALASUM, DERRLQTP, DLQT04
+* ..
+* .. Scalars in Common ..
+ LOGICAL LERR, OK
+ CHARACTER*32 SRNAMT
+ INTEGER INFOT, NUNIT
+* ..
+* .. Common blocks ..
+ COMMON / INFOC / INFOT, NUNIT, OK, LERR
+ COMMON / SRNAMC / SRNAMT
+* ..
+* .. Executable Statements ..
+*
+* Initialize constants
+*
+ PATH( 1: 1 ) = 'D'
+ PATH( 2: 3 ) = 'XQ'
+ NRUN = 0
+ NFAIL = 0
+ NERRS = 0
+*
+* Test the error exits
+*
+ IF( TSTERR ) CALL DERRLQTP( PATH, NOUT )
+ INFOT = 0
+*
+* Do for each value of M
+*
+ DO I = 1, NM
+ M = MVAL( I )
+*
+* Do for each value of N
+*
+ DO J = 1, NN
+ N = NVAL( J )
+*
+* Do for each value of L
+*
+ MINMN = MIN( M, N )
+ DO L = 0, MINMN, MAX( MINMN, 1 )
+*
+* Do for each possible value of NB
+*
+ DO K = 1, NNB
+ NB = NBVAL( K )
+*
+* Test DTPLQT and DTPMLQT
+*
+ IF( (NB.LE.M).AND.(NB.GT.0) ) THEN
+ CALL DLQT05( M, N, L, NB, RESULT )
+*
+* Print information about the tests that did not
+* pass the threshold.
+*
+ DO T = 1, NTESTS
+ IF( RESULT( T ).GE.THRESH ) THEN
+ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 )
+ $ CALL ALAHD( NOUT, PATH )
+ WRITE( NOUT, FMT = 9999 )M, N, NB, L,
+ $ T, RESULT( T )
+ NFAIL = NFAIL + 1
+ END IF
+ END DO
+ NRUN = NRUN + NTESTS
+ END IF
+ END DO
+ END DO
+ END DO
+ END DO
+*
+* Print a summary of the results.
+*
+ CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS )
+*
+ 9999 FORMAT( ' M=', I5, ', N=', I5, ', NB=', I4,' L=', I4,
+ $ ' test(', I2, ')=', G12.5 )
+ RETURN
+*
+* End of DCHKQRTP
+*
+ END