1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
SUBROUTINE SPRTLS( ISUB, SUBNAM, NDATA, NM, MVAL, NN, NVAL,
$ NNS, NSVAL, NNB, NBVAL, NXVAL, NLDA, LDAVAL,
$ MTYPE, RSLTS, NOUT )
*
* -- LAPACK timing routine (version 3.0) --
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
* Courant Institute, Argonne National Lab, and Rice University
* June 30, 1999
*
* .. Scalar Arguments ..
CHARACTER*6 SUBNAM
INTEGER ISUB, MTYPE, NDATA, NLDA, NM, NN, NNB,
$ NNS, NOUT
* ..
* .. Array Arguments ..
INTEGER LDAVAL( * ), MVAL( * ), NBVAL( * ),
$ NSVAL( * ), NVAL( * ), NXVAL( * )
REAL RSLTS( 6, 6, * )
* ..
*
* Purpose
* =======
*
* SPRTLS prints a table of timing data for the least squares routines.
*
* Arguments
* =========
*
* ISUB (input) INTEGER
* Subroutine index.
*
* SUBNAM (input) CHARACTER*6
* Subroutine name.
*
* NDATA (input) INTEGER
* Number of components for subroutine SUBNAM.
*
* NM (input) INTEGER
* The number of values of M contained in the vector MVAL.
*
* MVAL (input) INTEGER array, dimension (NM)
* The values of the matrix row dimension M.
*
* NN (input) INTEGER
* The number of values of N contained in the vector NVAL.
*
* NVAL (input) INTEGER array, dimension (NN)
* The values of the matrix column dimension N.
*
* NNS (input) INTEGER
* The number of values of NRHS contained in the vector NSVAL.
*
* NSVAL (input) INTEGER array, dimension (NNS)
* The values of the number of right hand sides NRHS.
*
* NNB (input) INTEGER
* The number of values of NB and NX contained in the
* vectors NBVAL and NXVAL. The blocking parameters are used
* in pairs (NB,NX).
*
* NBVAL (input) INTEGER array, dimension (NNB)
* The values of the blocksize NB.
*
* NXVAL (input) INTEGER array, dimension (NNB)
* The values of the crossover point NX.
*
* NLDA (input) INTEGER
* The number of values of LDA contained in the vector LDAVAL.
*
* LDAVAL (input) INTEGER array, dimension (NLDA)
* The values of the leading dimension of the array A.
*
* MTYPE (input) INTEGER
* Number of matrix types.
*
* RSLTS (workspace) REAL array
* dimension( 6, 6, number of runs )
*
* NOUT (input) INTEGER
* The unit number for output.
*
* =====================================================================
*
* .. Local Scalars ..
INTEGER ICASE, IDATA, ILDA, IM, IN, INB, INS,
$ ITYPE, LDA, M, N, NB, NRHS, NX
* ..
* .. Executable Statements ..
*
ICASE = 1
*
DO 70 IM = 1, NM
M = MVAL( IM )
DO 60 IN = 1, NN
N = NVAL( IN )
DO 50 INS = 1, NNS
NRHS = NSVAL( INS )
DO 40 ILDA = 1, NLDA
LDA = MAX( 1, LDAVAL( ILDA ) )
IF( ISUB.EQ.2 ) THEN
WRITE( NOUT, FMT = 9999 ) M, N, NRHS, LDA
WRITE( NOUT, FMT = 9998 ) SUBNAM, ( IDATA,
$ IDATA = 1, NDATA-1 )
DO 10 ITYPE = 1, MTYPE
WRITE( NOUT, FMT = 9997 ) ITYPE,
$ ( RSLTS( IDATA, ITYPE, ICASE ),
$ IDATA = 1, NDATA )
10 CONTINUE
ICASE = ICASE + 1
ELSE
DO 30 INB = 1, NNB
NB = NBVAL( INB )
NX = NXVAL( INB )
WRITE( NOUT, FMT = 9996 ) M, N, NRHS, LDA,
$ NB, NX
WRITE( NOUT, FMT = 9998 ) SUBNAM, ( IDATA,
$ IDATA = 1, NDATA-1 )
DO 20 ITYPE = 1, MTYPE
WRITE( NOUT, FMT = 9997 ) ITYPE,
$ ( RSLTS( IDATA, ITYPE, ICASE ),
$ IDATA = 1, NDATA )
20 CONTINUE
ICASE = ICASE + 1
30 CONTINUE
END IF
40 CONTINUE
50 CONTINUE
60 CONTINUE
70 CONTINUE
*
9999 FORMAT( / ' M = ', I5, ', N = ', I5, ', NRHS = ', I5,
$ ', LDA = ', I5 )
9998 FORMAT( / ' TYPE ', 4X, A6, 1X, 8( 4X, 'comp.', I2, : ) )
9997 FORMAT( I5, 2X, 1P, 6G11.2 )
9996 FORMAT( / ' M = ', I5, ', N = ', I5, ', NRHS = ', I5,
$ ', LDA = ', I5, ', NB = ', I3, ', NX = ', I3 )
RETURN
*
* End of SPRTLS
*
END
|