197 SUBROUTINE zckgsv( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
198 $ nmax, a, af, b, bf, u, v, q, alpha, beta, r,
199 $ iwork, work, rwork, nin, nout, info )
207 INTEGER info, nin, nm, nmats, nmax, nout
208 DOUBLE PRECISION thresh
211 INTEGER iseed( 4 ), iwork( * ), mval( * ), nval( * ),
213 DOUBLE PRECISION alpha( * ), beta( * ), rwork( * )
214 COMPLEX*16 a( * ), af( * ), b( * ), bf( * ), q( * ),
215 $ r( * ), u( * ), v( * ), work( * )
222 parameter( ntests = 7 )
224 parameter( ntypes = 8 )
228 CHARACTER dista, distb, type
230 INTEGER i, iinfo, im, imat, kla, klb, kua, kub, lda,
231 $ ldb, ldq, ldr, ldu, ldv, lwork, m, modea,
232 $ modeb, n, nfail, nrun, nt, p
233 DOUBLE PRECISION anorm, bnorm, cndnma, cndnmb
236 LOGICAL dotype( ntypes )
237 DOUBLE PRECISION result( ntests )
254 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
270 DO 20 imat = 1, ntypes
274 IF( .NOT.dotype( imat ) )
280 CALL
dlatb9( path, imat, m, p, n, type, kla, kua, klb, kub,
281 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
286 CALL
zlatms( m, n, dista, iseed, type, rwork, modea, cndnma,
287 $ anorm, kla, kua,
'No packing', a, lda, work,
289 IF( iinfo.NE.0 )
THEN
290 WRITE( nout, fmt = 9999 )iinfo
297 CALL
zlatms( p, n, distb, iseed, type, rwork, modeb, cndnmb,
298 $ bnorm, klb, kub,
'No packing', b, ldb, work,
300 IF( iinfo.NE.0 )
THEN
301 WRITE( nout, fmt = 9999 )iinfo
308 CALL
zgsvts( m, p, n, a, af, lda, b, bf, ldb, u, ldu, v,
309 $ ldv, q, ldq, alpha, beta, r, ldr, iwork, work,
310 $ lwork, rwork, result )
316 IF( result( i ).GE.thresh )
THEN
317 IF( nfail.EQ.0 .AND. firstt )
THEN
321 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
333 CALL
alasum( path, nout, nfail, nrun, 0 )
335 9999 format(
' ZLATMS in ZCKGSV INFO = ', i5 )
336 9998 format(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
337 $
', test ', i2,
', ratio=', g13.6 )