1742 DOUBLE PRECISION ZERO
1743 parameter( zero = 0.0d0 )
1745 DOUBLE PRECISION EPS, THRESH
1746 INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA, IORDER
1747 LOGICAL FATAL, REWI, TRACE
1750 DOUBLE PRECISION AA( NMAX*NMAX ), AB( 2*NMAX*NMAX ),
1751 $ ALF( NALF ), AS( NMAX*NMAX ), BB( NMAX*NMAX ),
1752 $ BET( NBET ), BS( NMAX*NMAX ), C( NMAX, NMAX ),
1753 $ CC( NMAX*NMAX ), CS( NMAX*NMAX ), CT( NMAX ),
1754 $ G( NMAX ), W( 2*NMAX )
1755 INTEGER IDIM( NIDIM )
1757 DOUBLE PRECISION ALPHA, ALS, BETA, BETS, ERR, ERRMAX
1758 INTEGER I, IA, IB, ICT, ICU, IK, IN, J, JC, JJ, JJAB,
1759 $ K, KS, LAA, LBB, LCC, LDA, LDAS, LDB, LDBS,
1760 $ LDC, LDCS, LJ, MA, N, NA, NARGS, NC, NS
1761 LOGICAL NULL, RESET, SAME, TRAN, UPPER
1762 CHARACTER*1 TRANS, TRANSS, UPLO, UPLOS
1775 INTEGER INFOT, NOUTC
1778 COMMON /infoc/infot, noutc, ok
1780 DATA icht/
'NTC'/, ichu/
'UL'/
1788 DO 130 in = 1, nidim
1800 DO 120 ik = 1, nidim
1804 trans = icht( ict: ict )
1805 tran = trans.EQ.
'T'.OR.trans.EQ.
'C'
1825 CALL dmake(
'GE',
' ',
' ', ma, na, ab, 2*nmax, aa,
1826 $ lda, reset, zero )
1828 CALL dmake(
'GE',
' ',
' ', ma, na, ab, nmax, aa, lda,
1837 CALL dmake(
'GE',
' ',
' ', ma, na, ab( k + 1 ),
1838 $ 2*nmax, bb, ldb, reset, zero )
1840 CALL dmake(
'GE',
' ',
' ', ma, na, ab( k*nmax + 1 ),
1841 $ nmax, bb, ldb, reset, zero )
1845 uplo = ichu( icu: icu )
1856 CALL dmake(
'SY', uplo,
' ', n, n, c, nmax, cc,
1857 $ ldc, reset, zero )
1885 $
CALL dprcn5( ntra, nc, sname, iorder, uplo,
1886 $ trans, n, k, alpha, lda, ldb, beta, ldc)
1889 CALL cdsyr2k( iorder, uplo, trans, n, k,
1890 $ alpha, aa, lda, bb, ldb, beta,
1896 WRITE( nout, fmt = 9993 )
1903 isame( 1 ) = uplos.EQ.uplo
1904 isame( 2 ) = transs.EQ.trans
1905 isame( 3 ) = ns.EQ.n
1906 isame( 4 ) = ks.EQ.k
1907 isame( 5 ) = als.EQ.alpha
1908 isame( 6 ) =
lde( as, aa, laa )
1909 isame( 7 ) = ldas.EQ.lda
1910 isame( 8 ) =
lde( bs, bb, lbb )
1911 isame( 9 ) = ldbs.EQ.ldb
1912 isame( 10 ) = bets.EQ.beta
1914 isame( 11 ) =
lde( cs, cc, lcc )
1916 isame( 11 ) =
lderes(
'SY', uplo, n, n, cs,
1919 isame( 12 ) = ldcs.EQ.ldc
1926 same = same.AND.isame( i )
1927 IF( .NOT.isame( i ) )
1928 $
WRITE( nout, fmt = 9998 )i
1951 w( i ) = ab( ( j - 1 )*2*nmax + k +
1953 w( k + i ) = ab( ( j - 1 )*2*nmax +
1956 CALL dmmch(
'T',
'N', lj, 1, 2*k,
1957 $ alpha, ab( jjab ), 2*nmax,
1959 $ c( jj, j ), nmax, ct, g,
1960 $ cc( jc ), ldc, eps, err,
1961 $ fatal, nout, .true. )
1964 w( i ) = ab( ( k + i - 1 )*nmax +
1966 w( k + i ) = ab( ( i - 1 )*nmax +
1969 CALL dmmch(
'N',
'N', lj, 1, 2*k,
1970 $ alpha, ab( jj ), nmax, w,
1971 $ 2*nmax, beta, c( jj, j ),
1972 $ nmax, ct, g, cc( jc ), ldc,
1973 $ eps, err, fatal, nout,
1981 $ jjab = jjab + 2*nmax
1983 errmax = max( errmax, err )
2005 IF( errmax.LT.thresh )
THEN
2006 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10000 )sname, nc
2007 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10001 )sname, nc
2009 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10002 )sname, nc, errmax
2010 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10003 )sname, nc, errmax
2016 $
WRITE( nout, fmt = 9995 )j
2019 WRITE( nout, fmt = 9996 )sname
2020 CALL dprcn5( nout, nc, sname, iorder, uplo, trans, n, k, alpha,
2021 $ lda, ldb, beta, ldc)
2026 10003
FORMAT(
' ', a12,
' COMPLETED THE ROW-MAJOR COMPUTATIONAL ',
2027 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2028 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2029 10002
FORMAT(
' ', a12,
' COMPLETED THE COLUMN-MAJOR COMPUTATIONAL ',
2030 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2031 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2032 10001
FORMAT(
' ', a12,
' PASSED THE ROW-MAJOR COMPUTATIONAL TESTS',
2033 $
' (', i6,
' CALL',
'S)' )
2034 10000
FORMAT(
' ', a12,
' PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS',
2035 $
' (', i6,
' CALL',
'S)' )
2036 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
2037 $
'ANGED INCORRECTLY *******' )
2038 9996
FORMAT(
' ******* ', a12,
' FAILED ON CALL NUMBER:' )
2039 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
2040 9994
FORMAT( 1x, i6,
': ', a12,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
2041 $ f4.1,
', A,', i3,
', B,', i3,
',', f4.1,
', C,', i3,
') ',
2043 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',