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
|
SUBROUTINE SPRTB5( LAB1, LABM, LABN, NK, KVAL, NM, MVAL, 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, LABM, LABN
INTEGER LDR1, LDR2, NK, NLDA, NM, NOUT
* ..
* .. Array Arguments ..
INTEGER KVAL( NK ), MVAL( NM ), NVAL( NM )
REAL RESLTS( LDR1, LDR2, * )
* ..
*
* Purpose
* =======
*
* SPRTB5 prints a table of timing data for the timing programs.
* The table has NK block rows and NM columns, with NLDA
* individual rows in each block row. Each column depends on two
* parameters M and N, specified as an ordered pair in the arrays MVAL
* and NVAL.
*
* Arguments
* =========
*
* LAB1 (input) CHARACTER*(*)
* The label for the rows.
*
* LABM (input) CHARACTER*(*)
* The first label for the columns.
*
* LABN (input) CHARACTER*(*)
* The second 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.
*
* NM (input) INTEGER
* The number of values of MVAL and NVAL, and also the number of
* columns of the table. Each column depends on the pair of
* parameters (M,N).
*
* MVAL (input) INTEGER array, dimension (NM)
* The values of the parameter M.
*
* NVAL (input) INTEGER array, dimension (NM)
* The values of the parameter N.
*
* 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,NM).
*
* 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 )LABM, ( MVAL( I ), I = 1, NM )
WRITE( NOUT, FMT = 9999 )LABN, ( NVAL( I ), I = 1, NM )
WRITE( NOUT, FMT = 9998 )LAB1
*
DO 20 I = 1, NK
IF( LAB1.EQ.' ' ) THEN
WRITE( NOUT, FMT = 9996 )( RESLTS( 1, J, 1 ), J = 1, NM )
ELSE
WRITE( NOUT, FMT = 9997 )KVAL( I ),
$ ( RESLTS( I, J, 1 ), J = 1, NM )
END IF
DO 10 K = 2, NLDA
WRITE( NOUT, FMT = 9996 )( RESLTS( I, J, K ), J = 1, NM )
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 SPRTB5
*
END
|