102      IMPLICIT NONE
  103
  104
  105
  106
  107
  108
  109      LOGICAL            TSTERR
  110      INTEGER            NM, NN, NNB, NOUT
  111      REAL               THRESH
  112
  113
  114      INTEGER            MVAL( * ), NBVAL( * ), NVAL( * )
  115
  116
  117
  118
  119
  120      INTEGER            NTESTS
  121      parameter( ntests = 6 )
  122
  123
  124      CHARACTER*3        PATH
  125      INTEGER            I, J, K, T, M, N, NB, NFAIL, NERRS, NRUN, INB,
  126     $                   MINMN, MB, IMB
  127
  128
  129      REAL               RESULT( NTESTS )
  130
  131
  134
  135
  136      INTRINSIC          max, min
  137
  138
  139      LOGICAL            LERR, OK
  140      CHARACTER*32       SRNAMT
  141      INTEGER            INFOT, NUNIT
  142
  143
  144      COMMON             / infoc / infot, nunit, ok, lerr
  145      COMMON             / srnamc / srnamt
  146
  147
  148
  149
  150
  151      path( 1: 1 ) = 'C'
  152      path( 2: 3 ) = 'TS'
  153      nrun = 0
  154      nfail = 0
  155      nerrs = 0
  156
  157
  158
  161      IF( tsterr ) 
CALL cerrtsqr( path, nout )
 
  162      infot = 0
  163
  164
  165
  166      DO i = 1, nm
  167         m = mval( i )
  168
  169
  170
  171         DO j = 1, nn
  172            n = nval( j )
  173              IF (min(m,n).NE.0) THEN
  174              DO inb = 1, nnb
  175                mb = nbval( inb )
  177                  DO imb = 1, nnb
  178                    nb = nbval( imb )
  180
  181
  182
  183                    CALL ctsqr01( 
'TS', m, n, mb, nb, result )
 
  184
  185
  186
  187
  188                    DO t = 1, ntests
  189                      IF( result( t ).GE.thresh ) THEN
  190                        IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
  191     $                     
CALL alahd( nout, path )
 
  192                        WRITE( nout, fmt = 9999 )m, n, mb, nb,
  193     $                       t, result( t )
  194                        nfail = nfail + 1
  195                      END IF
  196                    END DO
  197                    nrun = nrun + ntests
  198                  END DO
  199              END DO
  200              END IF
  201         END DO
  202      END DO
  203
  204
  205
  206      DO i = 1, nm
  207         m = mval( i )
  208
  209
  210
  211         DO j = 1, nn
  212            n = nval( j )
  213              IF (min(m,n).NE.0) THEN
  214              DO inb = 1, nnb
  215                mb = nbval( inb )
  217                  DO imb = 1, nnb
  218                    nb = nbval( imb )
  220
  221
  222
  223                    CALL ctsqr01( 
'SW', m, n, mb, nb, result )
 
  224
  225
  226
  227
  228                    DO t = 1, ntests
  229                      IF( result( t ).GE.thresh ) THEN
  230                        IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
  231     $                     
CALL alahd( nout, path )
 
  232                           WRITE( nout, fmt = 9998 )m, n, mb, nb,
  233     $                       t, result( t )
  234                        nfail = nfail + 1
  235                      END IF
  236                    END DO
  237                    nrun = nrun + ntests
  238                  END DO
  239              END DO
  240              END IF
  241         END DO
  242      END DO
  243
  244
  245
  246      CALL alasum( path, nout, nfail, nrun, nerrs )
 
  247
  248 9999 FORMAT( 'TS: M=', i5, ', N=', i5, ', MB=', i5,
  249     $      ', NB=', i5,' test(', i2, ')=', g12.5 )
  250 9998 FORMAT( 'SW: M=', i5, ', N=', i5, ', MB=', i5,
  251     $      ', NB=', i5,' test(', i2, ')=', g12.5 )
  252      RETURN
  253
  254
  255
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine alaerh(path, subnam, info, infoe, opts, m, n, kl, ku, n5, imat, nfail, nerrs, nout)
ALAERH
subroutine alahd(iounit, path)
ALAHD
subroutine cerrtsqr(path, nunit)
CERRTSQR
subroutine ctsqr01(tssw, m, n, mb, nb, result)
CTSQR01