1431 parameter( zero = 0.0 )
1434 INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA, IORDER
1435 LOGICAL FATAL, REWI, TRACE
1438 REAL A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1439 $ AS( NMAX*NMAX ), B( NMAX, NMAX ),
1440 $ BB( NMAX*NMAX ), BET( NBET ), BS( NMAX*NMAX ),
1441 $ C( NMAX, NMAX ), CC( NMAX*NMAX ),
1442 $ CS( NMAX*NMAX ), CT( NMAX ), G( NMAX )
1443 INTEGER IDIM( NIDIM )
1445 REAL ALPHA, ALS, BETA, BETS, ERR, ERRMAX
1446 INTEGER I, IA, IB, ICT, ICU, IK, IN, J, JC, JJ, K, KS,
1447 $ LAA, LCC, LDA, LDAS, LDC, LDCS, LJ, MA, N, NA,
1449 LOGICAL NULL, RESET, SAME, TRAN, UPPER
1450 CHARACTER*1 TRANS, TRANSS, UPLO, UPLOS
1463 INTEGER INFOT, NOUTC
1466 COMMON /infoc/infot, noutc, ok
1468 DATA icht/
'NTC'/, ichu/
'UL'/
1476 DO 100 in = 1, nidim
1492 trans = icht( ict: ict )
1493 tran = trans.EQ.
'T'.OR.trans.EQ.
'C'
1512 CALL smake(
'GE',
' ',
' ', ma, na, a, nmax, aa, lda,
1516 uplo = ichu( icu: icu )
1527 CALL smake(
'SY', uplo,
' ', n, n, c, nmax, cc,
1528 $ ldc, reset, zero )
1552 $
CALL sprcn4( ntra, nc, sname, iorder, uplo,
1553 $ trans, n, k, alpha, lda, beta, ldc)
1556 CALL cssyrk( iorder, uplo, trans, n, k, alpha,
1557 $ aa, lda, beta, cc, ldc )
1562 WRITE( nout, fmt = 9993 )
1569 isame( 1 ) = uplos.EQ.uplo
1570 isame( 2 ) = transs.EQ.trans
1571 isame( 3 ) = ns.EQ.n
1572 isame( 4 ) = ks.EQ.k
1573 isame( 5 ) = als.EQ.alpha
1574 isame( 6 ) =
lse( as, aa, laa )
1575 isame( 7 ) = ldas.EQ.lda
1576 isame( 8 ) = bets.EQ.beta
1578 isame( 9 ) =
lse( cs, cc, lcc )
1580 isame( 9 ) =
lseres(
'SY', uplo, n, n, cs,
1583 isame( 10 ) = ldcs.EQ.ldc
1590 same = same.AND.isame( i )
1591 IF( .NOT.isame( i ) )
1592 $
WRITE( nout, fmt = 9998 )i+1
1613 CALL smmch(
'T',
'N', lj, 1, k, alpha,
1615 $ a( 1, j ), nmax, beta,
1616 $ c( jj, j ), nmax, ct, g,
1617 $ cc( jc ), ldc, eps, err,
1618 $ fatal, nout, .true. )
1620 CALL smmch(
'N',
'T', lj, 1, k, alpha,
1622 $ a( j, 1 ), nmax, beta,
1623 $ c( jj, j ), nmax, ct, g,
1624 $ cc( jc ), ldc, eps, err,
1625 $ fatal, nout, .true. )
1632 errmax = max( errmax, err )
1654 IF( errmax.LT.thresh )
THEN
1655 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10000 )sname, nc
1656 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10001 )sname, nc
1658 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10002 )sname, nc, errmax
1659 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10003 )sname, nc, errmax
1665 $
WRITE( nout, fmt = 9995 )j
1668 WRITE( nout, fmt = 9996 )sname
1669 CALL sprcn4( nout, nc, sname, iorder, uplo, trans, n, k, alpha,
1675 10003
FORMAT(
' ', a12,
' COMPLETED THE ROW-MAJOR COMPUTATIONAL ',
1676 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
1677 $
'RATIO ', f8.2,
' - SUSPECT *******' )
1678 10002
FORMAT(
' ', a12,
' COMPLETED THE COLUMN-MAJOR COMPUTATIONAL ',
1679 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
1680 $
'RATIO ', f8.2,
' - SUSPECT *******' )
1681 10001
FORMAT(
' ', a12,
' PASSED THE ROW-MAJOR COMPUTATIONAL TESTS',
1682 $
' (', i6,
' CALL',
'S)' )
1683 10000
FORMAT(
' ', a12,
' PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS',
1684 $
' (', i6,
' CALL',
'S)' )
1685 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1686 $
'ANGED INCORRECTLY *******' )
1687 9996
FORMAT(
' ******* ', a12,
' FAILED ON CALL NUMBER:' )
1688 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1689 9994
FORMAT( 1x, i6,
': ', a12,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1690 $ f4.1,
', A,', i3,
',', f4.1,
', C,', i3,
') .' )
1691 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',