1743 REAL ZERO, HALF, ONE
1744 parameter( zero = 0.0, half = 0.5, one = 1.0 )
1747 INTEGER INCMAX, NALF, NIDIM, NINC, NMAX, NOUT, NTRA
1748 LOGICAL FATAL, REWI, TRACE
1751 REAL A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1752 $ AS( NMAX*NMAX ), G( NMAX ), X( NMAX ),
1753 $ XS( NMAX*INCMAX ), XX( NMAX*INCMAX ),
1754 $ Y( NMAX ), YS( NMAX*INCMAX ), YT( NMAX ),
1755 $ YY( NMAX*INCMAX ), Z( NMAX )
1756 INTEGER IDIM( NIDIM ), INC( NINC )
1758 REAL ALPHA, ALS, ERR, ERRMAX, TRANSL
1759 INTEGER I, IA, IC, IN, INCX, INCXS, IX, J, JA, JJ, LAA,
1760 $ LDA, LDAS, LJ, LX, N, NARGS, NC, NS
1761 LOGICAL FULL, NULL, PACKED, RESET, SAME, UPPER
1762 CHARACTER*1 UPLO, UPLOS
1775 INTEGER INFOT, NOUTC
1778 COMMON /infoc/infot, noutc, ok, lerr
1782 full = sname( 3: 3 ).EQ.
'Y'
1783 packed = sname( 3: 3 ).EQ.
'P'
1787 ELSE IF( packed )
THEN
1795 DO 100 in = 1, nidim
1805 laa = ( n*( n + 1 ) )/2
1811 uplo = ich( ic: ic )
1821 CALL smake(
'GE',
' ',
' ', 1, n, x, 1, xx, abs( incx ),
1822 $ 0, n - 1, reset, transl )
1825 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
1830 null = n.LE.0.OR.alpha.EQ.zero
1835 CALL smake( sname( 2: 3 ), uplo,
' ', n, n, a, nmax,
1836 $ aa, lda, n - 1, n - 1, reset, transl )
1858 $
WRITE( ntra, fmt = 9993 )nc, sname, uplo, n,
1862 CALL ssyr( uplo, n, alpha, xx, incx, aa, lda )
1863 ELSE IF( packed )
THEN
1865 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo, n,
1869 CALL sspr( uplo, n, alpha, xx, incx, aa )
1875 WRITE( nout, fmt = 9992 )
1882 isame( 1 ) = uplo.EQ.uplos
1883 isame( 2 ) = ns.EQ.n
1884 isame( 3 ) = als.EQ.alpha
1885 isame( 4 ) =
lse( xs, xx, lx )
1886 isame( 5 ) = incxs.EQ.incx
1888 isame( 6 ) =
lse( as, aa, laa )
1890 isame( 6 ) =
lseres( sname( 2: 3 ), uplo, n, n, as,
1893 IF( .NOT.packed )
THEN
1894 isame( 7 ) = ldas.EQ.lda
1901 same = same.AND.isame( i )
1902 IF( .NOT.isame( i ) )
1903 $
WRITE( nout, fmt = 9998 )i
1920 z( i ) = x( n - i + 1 )
1933 CALL smvch(
'N', lj, 1, alpha, z( jj ), lj, w,
1934 $ 1, one, a( jj, j ), 1, yt, g,
1935 $ aa( ja ), eps, err, fatal, nout,
1946 errmax = max( errmax, err )
1967 IF( errmax.LT.thresh )
THEN
1968 WRITE( nout, fmt = 9999 )sname, nc
1970 WRITE( nout, fmt = 9997 )sname, nc, errmax
1975 WRITE( nout, fmt = 9995 )j
1978 WRITE( nout, fmt = 9996 )sname
1980 WRITE( nout, fmt = 9993 )nc, sname, uplo, n, alpha, incx, lda
1981 ELSE IF( packed )
THEN
1982 WRITE( nout, fmt = 9994 )nc, sname, uplo, n, alpha, incx
1988 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1990 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1991 $
'ANGED INCORRECTLY *******' )
1992 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1993 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1994 $
' - SUSPECT *******' )
1995 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1996 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1997 9994
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1,
', X,',
1999 9993
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1,
', X,',
2000 $ i2,
', A,', i3,
') .' )
2001 9992
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
subroutine sspr(UPLO, N, ALPHA, X, INCX, AP)
SSPR
subroutine ssyr(UPLO, N, ALPHA, X, INCX, A, LDA)
SSYR
logical function lse(RI, RJ, LR)
subroutine smvch(TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y, INCY, YT, G, YY, EPS, ERR, FATAL, NOUT, MV)
logical function lseres(TYPE, UPLO, M, N, AA, AS, LDA)
subroutine smake(TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, KL, KU, RESET, TRANSL)