1      SUBROUTINE SPRTB5( LAB1, LABM, LABN, NK, KVAL, NM, MVAL, NVAL,
2     $                   NLDA, RESLTS, LDR1, LDR2, NOUT )
3*
4*  -- LAPACK timing routine (version 3.0) --
5*     Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
6*     Courant Institute, Argonne National Lab, and Rice University
7*     March 31, 1993
8*
9*     .. Scalar Arguments ..
10      CHARACTER*( * )    LAB1, LABM, LABN
11      INTEGER            LDR1, LDR2, NK, NLDA, NM, NOUT
12*     ..
13*     .. Array Arguments ..
14      INTEGER            KVAL( NK ), MVAL( NM ), NVAL( NM )
15      REAL               RESLTS( LDR1, LDR2, * )
16*     ..
17*
18*  Purpose
19*  =======
20*
21*  SPRTB5 prints a table of timing data for the timing programs.
22*  The table has NK block rows and NM columns, with NLDA
23*  individual rows in each block row.  Each column depends on two
24*  parameters M and N, specified as an ordered pair in the arrays MVAL
25*  and NVAL.
26*
27*  Arguments
28*  =========
29*
30*  LAB1    (input) CHARACTER*(*)
31*          The label for the rows.
32*
33*  LABM    (input) CHARACTER*(*)
34*          The first label for the columns.
35*
36*  LABN    (input) CHARACTER*(*)
37*          The second label for the columns.
38*
39*  NK      (input) INTEGER
40*          The number of values of KVAL, and also the number of block
41*          rows of the table.
42*
43*  KVAL    (input) INTEGER array, dimension (NK)
44*          The values of LAB1 used for the data in each block row.
45*
46*  NM      (input) INTEGER
47*          The number of values of MVAL and NVAL, and also the number of
48*          columns of the table.  Each column depends on the pair of
49*          parameters (M,N).
50*
51*  MVAL    (input) INTEGER array, dimension (NM)
52*          The values of the parameter M.
53*
54*  NVAL    (input) INTEGER array, dimension (NM)
55*          The values of the parameter N.
56*
57*  NLDA    (input) INTEGER
58*          The number of values of LDA, hence the number of rows for
59*          each value of KVAL.
60*
61*  RESLTS  (input) REAL array, dimension (LDR1, LDR2, NLDA)
62*          The timing results for each value of N, K, and LDA.
63*
64*  LDR1    (input) INTEGER
65*          The first dimension of RESLTS.  LDR1 >= max(1,NK).
66*
67*  LDR2    (input) INTEGER
68*          The second dimension of RESLTS.  LDR2 >= max(1,NM).
69*
70*  NOUT    (input) INTEGER
71*          The unit number on which the table is to be printed.
72*          NOUT >= 0.
73*
74*  =====================================================================
75*
76*     .. Local Scalars ..
77      INTEGER            I, J, K
78*     ..
79*     .. Executable Statements ..
80*
81      IF( NOUT.LE.0 )
82     $   RETURN
83      WRITE( NOUT, FMT = 9999 )LABM, ( MVAL( I ), I = 1, NM )
84      WRITE( NOUT, FMT = 9999 )LABN, ( NVAL( I ), I = 1, NM )
85      WRITE( NOUT, FMT = 9998 )LAB1
86*
87      DO 20 I = 1, NK
88         IF( LAB1.EQ.' ' ) THEN
89            WRITE( NOUT, FMT = 9996 )( RESLTS( 1, J, 1 ), J = 1, NM )
90         ELSE
91            WRITE( NOUT, FMT = 9997 )KVAL( I ),
92     $         ( RESLTS( I, J, 1 ), J = 1, NM )
93         END IF
94         DO 10 K = 2, NLDA
95            WRITE( NOUT, FMT = 9996 )( RESLTS( I, J, K ), J = 1, NM )
96   10    CONTINUE
97         IF( NLDA.GT.1 )
98     $      WRITE( NOUT, FMT = * )
99   20 CONTINUE
100      IF( NLDA.EQ.1 )
101     $   WRITE( NOUT, FMT = * )
102      RETURN
103*
104 9999 FORMAT( 6X, A4, I6, 11I8 )
105 9998 FORMAT( 3X, A4 )
106 9997 FORMAT( 1X, I6, 1X, 12F8.1 )
107 9996 FORMAT( 8X, 12F8.1 )
108*
109*     End of SPRTB5
110*
111      END
112