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
|
SUBROUTINE SPRTBL( LAB1, LAB2, NK, KVAL, 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 ), NVAL( NN )
REAL RESLTS( LDR1, LDR2, * )
* ..
*
* Purpose
* =======
*
* SPRTBL 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.
*
* 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 LAB1 used for the data in each block row.
*
* 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 LAB2 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 ),
$ ( 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( 6X, A4, I6, 11I8 )
9998 FORMAT( 3X, A4 )
9997 FORMAT( 1X, I6, 1X, 12F8.1 )
9996 FORMAT( 8X, 12F8.1 )
*
* End of SPRTBL
*
END
|