1849 DOUBLE PRECISION ZERO, HALF, ONE
1850 parameter( zero = 0.0d0, half = 0.5d0, one = 1.0d0 )
1852 DOUBLE PRECISION EPS, THRESH
1853 INTEGER INCMAX, NALF, NIDIM, NINC, NMAX, NOUT, NTRA,
1855 LOGICAL FATAL, REWI, TRACE
1858 DOUBLE PRECISION A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1859 $ AS( NMAX*NMAX ), G( NMAX ), X( NMAX ),
1860 $ XS( NMAX*INCMAX ), XX( NMAX*INCMAX ),
1861 $ Y( NMAX ), YS( NMAX*INCMAX ), YT( NMAX ),
1862 $ YY( NMAX*INCMAX ), Z( NMAX )
1863 INTEGER IDIM( NIDIM ), INC( NINC )
1865 DOUBLE PRECISION ALPHA, ALS, ERR, ERRMAX, TRANSL
1866 INTEGER I, IA, IC, IN, INCX, INCXS, IX, J, JA, JJ, LAA,
1867 $ LDA, LDAS, LJ, LX, N, NARGS, NC, NS
1868 LOGICAL FULL, NULL, PACKED, RESET, SAME, UPPER
1869 CHARACTER*1 UPLO, UPLOS
1873 DOUBLE PRECISION W( 1 )
1883 INTEGER INFOT, NOUTC
1886 COMMON /infoc/infot, noutc, ok
1890 full = sname( 9: 9 ).EQ.
'y'
1891 packed = sname( 9: 9 ).EQ.
'p'
1895 ELSE IF( packed )
THEN
1903 DO 100 in = 1, nidim
1913 laa = ( n*( n + 1 ) )/2
1919 uplo = ich( ic: ic )
1920 IF (uplo.EQ.
'U')
THEN
1921 cuplo =
' CblasUpper'
1923 cuplo =
' CblasLower'
1934 CALL dmake(
'ge',
' ',
' ', 1, n, x, 1, xx, abs( incx ),
1935 $ 0, n - 1, reset, transl )
1938 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
1943 null = n.LE.0.OR.alpha.EQ.zero
1948 CALL dmake( sname( 8: 9 ), uplo,
' ', n, n, a, nmax,
1949 $ aa, lda, n - 1, n - 1, reset, transl )
1971 $
WRITE( ntra, fmt = 9993 )nc, sname, cuplo, n,
1975 CALL cdsyr( iorder, uplo, n, alpha, xx, incx,
1977 ELSE IF( packed )
THEN
1979 $
WRITE( ntra, fmt = 9994 )nc, sname, cuplo, n,
1983 CALL cdspr( iorder, uplo, n, alpha, xx, incx, aa )
1989 WRITE( nout, fmt = 9992 )
1996 isame( 1 ) = uplo.EQ.uplos
1997 isame( 2 ) = ns.EQ.n
1998 isame( 3 ) = als.EQ.alpha
1999 isame( 4 ) =
lde( xs, xx, lx )
2000 isame( 5 ) = incxs.EQ.incx
2002 isame( 6 ) =
lde( as, aa, laa )
2004 isame( 6 ) =
lderes( sname( 8: 9 ), uplo, n, n, as,
2007 IF( .NOT.packed )
THEN
2008 isame( 7 ) = ldas.EQ.lda
2015 same = same.AND.isame( i )
2016 IF( .NOT.isame( i ) )
2017 $
WRITE( nout, fmt = 9998 )i
2034 z( i ) = x( n - i + 1 )
2047 CALL dmvch(
'N', lj, 1, alpha, z( jj ), lj, w,
2048 $ 1, one, a( jj, j ), 1, yt, g,
2049 $ aa( ja ), eps, err, fatal, nout,
2060 errmax = max( errmax, err )
2081 IF( errmax.LT.thresh )
THEN
2082 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10000 )sname, nc
2083 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10001 )sname, nc
2085 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10002 )sname, nc, errmax
2086 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10003 )sname, nc, errmax
2091 WRITE( nout, fmt = 9995 )j
2094 WRITE( nout, fmt = 9996 )sname
2096 WRITE( nout, fmt = 9993 )nc, sname, cuplo, n, alpha, incx, lda
2097 ELSE IF( packed )
THEN
2098 WRITE( nout, fmt = 9994 )nc, sname, cuplo, n, alpha, incx
2104 10003
FORMAT(
' ', a12,
' COMPLETED THE ROW-MAJOR COMPUTATIONAL ',
2105 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2106 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2107 10002
FORMAT(
' ', a12,
' COMPLETED THE COLUMN-MAJOR COMPUTATIONAL ',
2108 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2109 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2110 10001
FORMAT(
' ', a12,
' PASSED THE ROW-MAJOR COMPUTATIONAL TESTS',
2111 $
' (', i6,
' CALL',
'S)' )
2112 10000
FORMAT(
' ', a12,
' PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS',
2113 $
' (', i6,
' CALL',
'S)' )
2114 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
2115 $
'ANGED INCORRECTLY *******' )
2116 9997
FORMAT(
' ',a12,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
2117 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
2118 $
' - SUSPECT *******' )
2119 9996
FORMAT(
' ******* ',a12,
' FAILED ON CALL NUMBER:' )
2120 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
2121 9994
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', X,',
2123 9993
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', X,',
2124 $ i2,
', A,', i3,
') .' )
2125 9992
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',