1746 REAL ZERO, HALF, ONE
1747 parameter( zero = 0.0, half = 0.5, one = 1.0 )
1750 INTEGER INCMAX, NALF, NIDIM, NINC, NMAX, NOUT, NTRA
1751 LOGICAL FATAL, REWI, TRACE
1754 REAL A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1755 $ AS( NMAX*NMAX ), G( NMAX ), X( NMAX ),
1756 $ XS( NMAX*INCMAX ), XX( NMAX*INCMAX ),
1757 $ Y( NMAX ), YS( NMAX*INCMAX ), YT( NMAX ),
1758 $ YY( NMAX*INCMAX ), Z( NMAX )
1759 INTEGER IDIM( NIDIM ), INC( NINC )
1761 REAL ALPHA, ALS, ERR, ERRMAX, TRANSL
1762 INTEGER I, IA, IC, IN, INCX, INCXS, IX, J, JA, JJ, LAA,
1763 $ LDA, LDAS, LJ, LX, N, NARGS, NC, NS
1764 LOGICAL FULL, NULL, PACKED, RESET, SAME, UPPER
1765 CHARACTER*1 UPLO, UPLOS
1778 INTEGER INFOT, NOUTC
1781 COMMON /infoc/infot, noutc, ok, lerr
1785 full = sname( 3: 3 ).EQ.
'Y'
1786 packed = sname( 3: 3 ).EQ.
'P'
1790 ELSE IF( packed )
THEN
1798 DO 100 in = 1, nidim
1808 laa = ( n*( n + 1 ) )/2
1814 uplo = ich( ic: ic )
1824 CALL smake(
'GE',
' ',
' ', 1, n, x, 1, xx, abs( incx ),
1825 $ 0, n - 1, reset, transl )
1828 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
1833 null = n.LE.0.OR.alpha.EQ.zero
1838 CALL smake( sname( 2: 3 ), uplo,
' ', n, n, a, nmax,
1839 $ aa, lda, n - 1, n - 1, reset, transl )
1861 $
WRITE( ntra, fmt = 9993 )nc, sname, uplo, n,
1865 CALL ssyr( uplo, n, alpha, xx, incx, aa, lda )
1866 ELSE IF( packed )
THEN
1868 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo, n,
1872 CALL sspr( uplo, n, alpha, xx, incx, aa )
1878 WRITE( nout, fmt = 9992 )
1885 isame( 1 ) = uplo.EQ.uplos
1886 isame( 2 ) = ns.EQ.n
1887 isame( 3 ) = als.EQ.alpha
1888 isame( 4 ) =
lse( xs, xx, lx )
1889 isame( 5 ) = incxs.EQ.incx
1891 isame( 6 ) =
lse( as, aa, laa )
1893 isame( 6 ) =
lseres( sname( 2: 3 ), uplo, n, n, as,
1896 IF( .NOT.packed )
THEN
1897 isame( 7 ) = ldas.EQ.lda
1904 same = same.AND.isame( i )
1905 IF( .NOT.isame( i ) )
1906 $
WRITE( nout, fmt = 9998 )i
1923 z( i ) = x( n - i + 1 )
1936 CALL smvch(
'N', lj, 1, alpha, z( jj ), lj, w,
1937 $ 1, one, a( jj, j ), 1, yt, g,
1938 $ aa( ja ), eps, err, fatal, nout,
1949 errmax = max( errmax, err )
1970 IF( errmax.LT.thresh )
THEN
1971 WRITE( nout, fmt = 9999 )sname, nc
1973 WRITE( nout, fmt = 9997 )sname, nc, errmax
1978 WRITE( nout, fmt = 9995 )j
1981 WRITE( nout, fmt = 9996 )sname
1983 WRITE( nout, fmt = 9993 )nc, sname, uplo, n, alpha, incx, lda
1984 ELSE IF( packed )
THEN
1985 WRITE( nout, fmt = 9994 )nc, sname, uplo, n, alpha, incx
1991 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1993 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1994 $
'ANGED INCORRECTLY *******' )
1995 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1996 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1997 $
' - SUSPECT *******' )
1998 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1999 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
2000 9994
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1,
', X,',
2002 9993
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1,
', X,',
2003 $ i2,
', A,', i3,
') .' )
2004 9992
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',