1266 DOUBLE PRECISION ZERO
1267 parameter( zero = 0.0d0 )
1269 DOUBLE PRECISION EPS, THRESH
1270 INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA
1271 LOGICAL FATAL, REWI, TRACE
1274 DOUBLE PRECISION A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1275 $ AS( NMAX*NMAX ), B( NMAX, NMAX ),
1276 $ BB( NMAX*NMAX ), BET( NBET ), BS( NMAX*NMAX ),
1277 $ C( NMAX, NMAX ), CC( NMAX*NMAX ),
1278 $ CS( NMAX*NMAX ), CT( NMAX ), G( NMAX )
1279 INTEGER IDIM( NIDIM )
1281 DOUBLE PRECISION ALPHA, ALS, BETA, BETS, ERR, ERRMAX
1282 INTEGER I, IA, IB, ICT, ICU, IK, IN, J, JC, JJ, K, KS,
1283 $ LAA, LCC, LDA, LDAS, LDC, LDCS, LJ, MA, N, NA,
1285 LOGICAL NULL, RESET, SAME, TRAN, UPPER
1286 CHARACTER*1 TRANS, TRANSS, UPLO, UPLOS
1299 INTEGER INFOT, NOUTC
1302 COMMON /infoc/infot, noutc, ok, lerr
1304 DATA icht/
'NTC'/, ichu/
'UL'/
1312 DO 100 in = 1, nidim
1328 trans = icht( ict: ict )
1329 tran = trans.EQ.
'T'.OR.trans.EQ.
'C'
1348 CALL dmake(
'GE',
' ',
' ', ma, na, a, nmax, aa, lda,
1352 uplo = ichu( icu: icu )
1363 CALL dmake(
'SY', uplo,
' ', n, n, c, nmax, cc,
1364 $ ldc, reset, zero )
1388 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo,
1389 $ trans, n, k, alpha, lda, beta, ldc
1392 CALL dsyrk( uplo, trans, n, k, alpha, aa, lda,
1398 WRITE( nout, fmt = 9993 )
1405 isame( 1 ) = uplos.EQ.uplo
1406 isame( 2 ) = transs.EQ.trans
1407 isame( 3 ) = ns.EQ.n
1408 isame( 4 ) = ks.EQ.k
1409 isame( 5 ) = als.EQ.alpha
1410 isame( 6 ) =
lde( as, aa, laa )
1411 isame( 7 ) = ldas.EQ.lda
1412 isame( 8 ) = bets.EQ.beta
1414 isame( 9 ) =
lde( cs, cc, lcc )
1416 isame( 9 ) =
lderes(
'SY', uplo, n, n, cs,
1419 isame( 10 ) = ldcs.EQ.ldc
1426 same = same.AND.isame( i )
1427 IF( .NOT.isame( i ) )
1428 $
WRITE( nout, fmt = 9998 )i
1449 CALL dmmch(
'T',
'N', lj, 1, k, alpha,
1451 $ a( 1, j ), nmax, beta,
1452 $ c( jj, j ), nmax, ct, g,
1453 $ cc( jc ), ldc, eps, err,
1454 $ fatal, nout, .true. )
1456 CALL dmmch(
'N',
'T', lj, 1, k, alpha,
1458 $ a( j, 1 ), nmax, beta,
1459 $ c( jj, j ), nmax, ct, g,
1460 $ cc( jc ), ldc, eps, err,
1461 $ fatal, nout, .true. )
1468 errmax = max( errmax, err )
1490 IF( errmax.LT.thresh )
THEN
1491 WRITE( nout, fmt = 9999 )sname, nc
1493 WRITE( nout, fmt = 9997 )sname, nc, errmax
1499 $
WRITE( nout, fmt = 9995 )j
1502 WRITE( nout, fmt = 9996 )sname
1503 WRITE( nout, fmt = 9994 )nc, sname, uplo, trans, n, k, alpha,
1509 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1511 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1512 $
'ANGED INCORRECTLY *******' )
1513 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1514 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1515 $
' - SUSPECT *******' )
1516 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1517 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1518 9994
FORMAT( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1519 $ f4.1,
', A,', i3,
',', f4.1,
', C,', i3,
') .' )
1520 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',