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
|
SUBROUTINE SPRTB3( LAB1, LAB2, NK, KVAL, LVAL, NN, NVAL, NLDA,
$ RESLTS, LDR1, LDR2, NOUT )
*
* -- LAPACK timing routine (version 3.0) --
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
* Courant Institute, Argonne National Lab, and Rice University
* March 31, 1993
*
* .. Scalar Arguments ..
CHARACTER*( * ) LAB1, LAB2
INTEGER LDR1, LDR2, NK, NLDA, NN, NOUT
* ..
* .. Array Arguments ..
INTEGER KVAL( NK ), LVAL( NK ), NVAL( NN )
REAL RESLTS( LDR1, LDR2, * )
* ..
*
* Purpose
* =======
*
* SPRTB3 prints a table of timing data for the timing programs.
* The table has NK block rows and NN columns, with NLDA
* individual rows in each block row. Each block row depends on two
* parameters K and L, specified as an ordered pair in the arrays KVAL
* and LVAL.
*
* Arguments
* =========
*
* LAB1 (input) CHARACTER*(*)
* The label for the rows.
*
* LAB2 (input) CHARACTER*(*)
* The label for the columns.
*
* NK (input) INTEGER
* The number of values of KVAL, and also the number of block
* rows of the table.
*
* KVAL (input) INTEGER array, dimension (NK)
* The values of the parameter K. Each block row depends on
* the pair of parameters (K, L).
*
* LVAL (input) INTEGER array, dimension (NK)
* The values of the parameter L. Each block row depends on
* the pair of parameters (K, L).
*
* NN (input) INTEGER
* The number of values of NVAL, and also the number of columns
* of the table.
*
* NVAL (input) INTEGER array, dimension (NN)
* The values of N used for the data in each column.
*
* NLDA (input) INTEGER
* The number of values of LDA, hence the number of rows for
* each value of KVAL.
*
* RESLTS (input) REAL array, dimension (LDR1, LDR2, NLDA)
* The timing results for each value of N, K, and LDA.
*
* LDR1 (input) INTEGER
* The first dimension of RESLTS. LDR1 >= max(1,NK).
*
* LDR2 (input) INTEGER
* The second dimension of RESLTS. LDR2 >= max(1,NN).
*
* NOUT (input) INTEGER
* The unit number on which the table is to be printed.
* NOUT >= 0.
*
* =====================================================================
*
* .. Local Scalars ..
INTEGER I, J, K
* ..
* .. Executable Statements ..
*
IF( NOUT.LE.0 )
$ RETURN
WRITE( NOUT, FMT = 9999 )LAB2, ( NVAL( I ), I = 1, NN )
WRITE( NOUT, FMT = 9998 )LAB1
*
DO 20 I = 1, NK
IF( LAB1.EQ.' ' ) THEN
WRITE( NOUT, FMT = 9996 )( RESLTS( 1, J, 1 ), J = 1, NN )
ELSE
WRITE( NOUT, FMT = 9997 )KVAL( I ), LVAL( I ),
$ ( RESLTS( I, J, 1 ), J = 1, NN )
END IF
DO 10 K = 2, NLDA
WRITE( NOUT, FMT = 9996 )( RESLTS( I, J, K ), J = 1, NN )
10 CONTINUE
IF( NLDA.GT.1 )
$ WRITE( NOUT, FMT = * )
20 CONTINUE
IF( NLDA.EQ.1 )
$ WRITE( NOUT, FMT = * )
RETURN
*
9999 FORMAT( 10X, A4, I7, 11I8 )
9998 FORMAT( 1X, A11 )
9997 FORMAT( 1X, '(', I4, ',', I4, ') ', 12F8.1 )
9996 FORMAT( 13X, 12F8.1 )
*
* End of SPRTB3
*
END
|