207      SUBROUTINE sckgqr( NM, MVAL, NP, PVAL, NN, NVAL, NMATS, ISEED,
 
  208     $                   THRESH, NMAX, A, AF, AQ, AR, TAUA, B, BF, BZ,
 
  209     $                   BT, BWK, TAUB, WORK, RWORK, NIN, NOUT, INFO )
 
  216      INTEGER            INFO, NIN, NM, NMATS, NMAX, NN, NOUT, NP
 
  220      INTEGER            ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
 
  221      REAL               A( * ), AF( * ), AQ( * ), AR( * ), B( * ),
 
  222     $                   bf( * ), bt( * ), bwk( * ), bz( * ),
 
  223     $                   rwork( * ), taua( * ), taub( * ), work( * )
 
  230      PARAMETER          ( NTESTS = 7 )
 
  232      parameter( ntypes = 8 )
 
  236      CHARACTER          DISTA, DISTB, TYPE
 
  238      INTEGER            I, IINFO, IM, IMAT, IN, IP, KLA, KLB, KUA, KUB,
 
  239     $                   lda, ldb, lwork, m, modea, modeb, n, nfail,
 
  241      REAL               ANORM, BNORM, CNDNMA, CNDNMB
 
  244      LOGICAL            DOTYPE( NTYPES )
 
  245      REAL               RESULT( NTESTS )
 
  263      CALL alareq( path, nmats, dotype, ntypes, nin, nout )
 
  283               DO 30 imat = 1, ntypes
 
  287                  IF( .NOT.dotype( imat ) )
 
  295                  CALL slatb9( 
'GRQ', imat, m, p, n, 
TYPE, kla, kua,
 
  296     $                         klb, kub, anorm, bnorm, modea, modeb,
 
  297     $                         cndnma, cndnmb, dista, distb )
 
  301                  CALL slatms( m, n, dista, iseed, 
TYPE, rwork, modea,
 
  302     $                         cndnma, anorm, kla, kua, 
'No packing', a,
 
  304                  IF( iinfo.NE.0 ) 
THEN 
  305                     WRITE( nout, fmt = 9999 )iinfo
 
  312                  CALL slatms( p, n, distb, iseed, 
TYPE, rwork, modeb,
 
  313     $                         cndnmb, bnorm, klb, kub, 
'No packing', b,
 
  315                  IF( iinfo.NE.0 ) 
THEN 
  316                     WRITE( nout, fmt = 9999 )iinfo
 
  323                  CALL sgrqts( m, p, n, a, af, aq, ar, lda, taua, b, bf,
 
  324     $                         bz, bt, bwk, ldb, taub, work, lwork,
 
  331                     IF( result( i ).GE.thresh ) 
THEN 
  332                        IF( nfail.EQ.0 .AND. firstt ) 
THEN 
  334                           CALL alahdg( nout, 
'GRQ' )
 
  336                        WRITE( nout, fmt = 9998 )m, p, n, imat, i,
 
  348                  CALL slatb9( 
'GQR', imat, m, p, n, 
TYPE, kla, kua,
 
  349     $                         klb, kub, anorm, bnorm, modea, modeb,
 
  350     $                         cndnma, cndnmb, dista, distb )
 
  354                  CALL slatms( n, m, dista, iseed, 
TYPE, rwork, modea,
 
  355     $                         cndnma, anorm, kla, kua, 
'No packing', a,
 
  357                  IF( iinfo.NE.0 ) 
THEN 
  358                     WRITE( nout, fmt = 9999 )iinfo
 
  365                  CALL slatms( n, p, distb, iseed, 
TYPE, rwork, modea,
 
  366     $                         cndnma, bnorm, klb, kub, 
'No packing', b,
 
  368                  IF( iinfo.NE.0 ) 
THEN 
  369                     WRITE( nout, fmt = 9999 )iinfo
 
  376                  CALL sgqrts( n, m, p, a, af, aq, ar, lda, taua, b, bf,
 
  377     $                         bz, bt, bwk, ldb, taub, work, lwork,
 
  384                     IF( result( i ).GE.thresh ) 
THEN 
  385                        IF( nfail.EQ.0 .AND. firstt ) 
THEN 
  389                        WRITE( nout, fmt = 9997 )n, m, p, imat, i,
 
  403      CALL alasum( path, nout, nfail, nrun, 0 )
 
  405 9999 
FORMAT( 
' SLATMS in SCKGQR:    INFO = ', i5 )
 
  406 9998 
FORMAT( 
' M=', i4, 
' P=', i4, 
', N=', i4, 
', type ', i2,
 
  407     $      
', test ', i2, 
', ratio=', g13.6 )
 
  408 9997 
FORMAT( 
' N=', i4, 
' M=', i4, 
', P=', i4, 
', type ', i2,
 
  409     $      
', test ', i2, 
', ratio=', g13.6 )
 
 
subroutine sckgqr(nm, mval, np, pval, nn, nval, nmats, iseed, thresh, nmax, a, af, aq, ar, taua, b, bf, bz, bt, bwk, taub, work, rwork, nin, nout, info)
SCKGQR