831 parameter( zero = 0.0, half = 0.5 )
834 INTEGER INCMAX, NALF, NBET, NIDIM, NINC, NKB, NMAX,
836 LOGICAL FATAL, REWI, TRACE
839 REAL A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
840 $ AS( NMAX*NMAX ), BET( NBET ), G( NMAX ),
841 $ X( NMAX ), XS( NMAX*INCMAX ),
842 $ XX( NMAX*INCMAX ), Y( NMAX ),
843 $ YS( NMAX*INCMAX ), YT( NMAX ),
845 INTEGER IDIM( NIDIM ), INC( NINC ), KB( NKB )
847 REAL ALPHA, ALS, BETA, BLS, ERR, ERRMAX, TRANSL
848 INTEGER I, IA, IB, IC, IK, IN, INCX, INCXS, INCY,
849 $ INCYS, IX, IY, K, KS, LAA, LDA, LDAS, LX, LY,
850 $ N, NARGS, NC, NK, NS
851 LOGICAL BANDED, FULL, NULL, PACKED, RESET, SAME
852 CHARACTER*1 UPLO, UPLOS
868 COMMON /infoc/infot, noutc, ok
872 full = sname( 9: 9 ).EQ.
'y'
873 banded = sname( 9: 9 ).EQ.
'b'
874 packed = sname( 9: 9 ).EQ.
'p'
878 ELSE IF( banded )
THEN
880 ELSE IF( packed )
THEN
914 laa = ( n*( n + 1 ) )/2
923 cuplo =
' CblasUpper'
925 cuplo =
' CblasLower'
931 CALL smake( sname( 8: 9 ), uplo,
' ', n, n, a, nmax, aa,
932 $ lda, k, k, reset, transl )
941 CALL smake(
'ge',
' ',
' ', 1, n, x, 1, xx,
942 $ abs( incx ), 0, n - 1, reset, transl )
945 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
961 CALL smake(
'ge',
' ',
' ', 1, n, y, 1, yy,
962 $ abs( incy ), 0, n - 1, reset,
992 $
WRITE( ntra, fmt = 9993 )nc, sname,
993 $ cuplo, n, alpha, lda, incx, beta, incy
996 CALL cssymv( iorder, uplo, n, alpha, aa,
997 $ lda, xx, incx, beta, yy, incy )
998 ELSE IF( banded )
THEN
1000 $
WRITE( ntra, fmt = 9994 )nc, sname,
1001 $ cuplo, n, k, alpha, lda, incx, beta,
1005 CALL cssbmv( iorder, uplo, n, k, alpha,
1006 $ aa, lda, xx, incx, beta, yy,
1008 ELSE IF( packed )
THEN
1010 $
WRITE( ntra, fmt = 9995 )nc, sname,
1011 $ cuplo, n, alpha, incx, beta, incy
1014 CALL csspmv( iorder, uplo, n, alpha, aa,
1015 $ xx, incx, beta, yy, incy )
1021 WRITE( nout, fmt = 9992 )
1028 isame( 1 ) = uplo.EQ.uplos
1029 isame( 2 ) = ns.EQ.n
1031 isame( 3 ) = als.EQ.alpha
1032 isame( 4 ) =
lse( as, aa, laa )
1033 isame( 5 ) = ldas.EQ.lda
1034 isame( 6 ) =
lse( xs, xx, lx )
1035 isame( 7 ) = incxs.EQ.incx
1036 isame( 8 ) = bls.EQ.beta
1038 isame( 9 ) =
lse( ys, yy, ly )
1040 isame( 9 ) =
lseres(
'ge',
' ', 1, n,
1041 $ ys, yy, abs( incy ) )
1043 isame( 10 ) = incys.EQ.incy
1044 ELSE IF( banded )
THEN
1045 isame( 3 ) = ks.EQ.k
1046 isame( 4 ) = als.EQ.alpha
1047 isame( 5 ) =
lse( as, aa, laa )
1048 isame( 6 ) = ldas.EQ.lda
1049 isame( 7 ) =
lse( xs, xx, lx )
1050 isame( 8 ) = incxs.EQ.incx
1051 isame( 9 ) = bls.EQ.beta
1053 isame( 10 ) =
lse( ys, yy, ly )
1055 isame( 10 ) =
lseres(
'ge',
' ', 1, n,
1056 $ ys, yy, abs( incy ) )
1058 isame( 11 ) = incys.EQ.incy
1059 ELSE IF( packed )
THEN
1060 isame( 3 ) = als.EQ.alpha
1061 isame( 4 ) =
lse( as, aa, laa )
1062 isame( 5 ) =
lse( xs, xx, lx )
1063 isame( 6 ) = incxs.EQ.incx
1064 isame( 7 ) = bls.EQ.beta
1066 isame( 8 ) =
lse( ys, yy, ly )
1068 isame( 8 ) =
lseres(
'ge',
' ', 1, n,
1069 $ ys, yy, abs( incy ) )
1071 isame( 9 ) = incys.EQ.incy
1079 same = same.AND.isame( i )
1080 IF( .NOT.isame( i ) )
1081 $
WRITE( nout, fmt = 9998 )i
1092 CALL smvch(
'N', n, n, alpha, a, nmax, x,
1093 $ incx, beta, y, incy, yt, g,
1094 $ yy, eps, err, fatal, nout,
1096 errmax = max( errmax, err )
1122 IF( errmax.LT.thresh )
THEN
1123 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10000 )sname, nc
1124 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10001 )sname, nc
1126 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10002 )sname, nc, errmax
1127 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10003 )sname, nc, errmax
1132 WRITE( nout, fmt = 9996 )sname
1134 WRITE( nout, fmt = 9993 )nc, sname, cuplo, n, alpha, lda,
1136 ELSE IF( banded )
THEN
1137 WRITE( nout, fmt = 9994 )nc, sname, cuplo, n, k, alpha, lda,
1139 ELSE IF( packed )
THEN
1140 WRITE( nout, fmt = 9995 )nc, sname, cuplo, n, alpha, incx,
1147 10003
FORMAT(
' ', a12,
' COMPLETED THE ROW-MAJOR COMPUTATIONAL ',
1148 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
1149 $
'RATIO ', f8.2,
' - SUSPECT *******' )
1150 10002
FORMAT(
' ', a12,
' COMPLETED THE COLUMN-MAJOR COMPUTATIONAL ',
1151 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
1152 $
'RATIO ', f8.2,
' - SUSPECT *******' )
1153 10001
FORMAT(
' ', a12,
' PASSED THE ROW-MAJOR COMPUTATIONAL TESTS',
1154 $
' (', i6,
' CALL',
'S)' )
1155 10000
FORMAT(
' ', a12,
' PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS',
1156 $
' (', i6,
' CALL',
'S)' )
1157 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1158 $
'ANGED INCORRECTLY *******' )
1159 9997
FORMAT(
' ',a12,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1160 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1161 $
' - SUSPECT *******' )
1162 9996
FORMAT(
' ******* ',a12,
' FAILED ON CALL NUMBER:' )
1163 9995
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', AP',
1164 $
', X,', i2,
',', f4.1,
', Y,', i2,
') .' )
1165 9994
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', 2( i3,
',' ), f4.1,
1166 $
', A,', i3,
', X,', i2,
',', f4.1,
', Y,', i2,
1168 9993
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', A,',
1169 $ i3,
', X,', i2,
',', f4.1,
', Y,', i2,
') .' )
1170 9992
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',