2145 REAL zero, half, one
2146 parameter ( zero = 0.0, half = 0.5, one = 1.0 )
2149 INTEGER incmax, nalf, nidim, ninc, nmax, nout, ntra,
2151 LOGICAL fatal, rewi, trace
2154 REAL a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
2155 $ as( nmax*nmax ), g( nmax ), x( nmax ),
2156 $ xs( nmax*incmax ), xx( nmax*incmax ),
2157 $ y( nmax ), ys( nmax*incmax ), yt( nmax ),
2158 $ yy( nmax*incmax ), z( nmax, 2 )
2159 INTEGER idim( nidim ), inc( ninc )
2161 REAL alpha, als, err, errmax, transl
2162 INTEGER i, ia, ic, in, incx, incxs, incy, incys, ix,
2163 $ iy, j, ja, jj, laa, lda, ldas, lj, lx, ly, n,
2165 LOGICAL full, null, packed, reset, same, upper
2166 CHARACTER*1 uplo, uplos
2180 INTEGER infot, noutc
2183 COMMON /infoc/infot, noutc, ok
2187 full = sname( 9: 9 ).EQ.
'y'
2188 packed = sname( 9: 9 ).EQ.
'p'
2192 ELSE IF( packed )
THEN
2200 DO 140 in = 1, nidim
2210 laa = ( n*( n + 1 ) )/2
2216 uplo = ich( ic: ic )
2217 IF (uplo.EQ.
'U')
THEN
2218 cuplo =
' CblasUpper'
2220 cuplo =
' CblasLower'
2231 CALL smake(
'ge',
' ',
' ', 1, n, x, 1, xx, abs( incx ),
2232 $ 0, n - 1, reset, transl )
2235 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
2245 CALL smake(
'ge',
' ',
' ', 1, n, y, 1, yy,
2246 $ abs( incy ), 0, n - 1, reset, transl )
2249 yy( 1 + abs( incy )*( n/2 - 1 ) ) = zero
2254 null = n.LE.0.OR.alpha.EQ.zero
2259 CALL smake( sname( 8: 9 ), uplo,
' ', n, n, a,
2260 $ nmax, aa, lda, n - 1, n - 1, reset,
2287 $
WRITE( ntra, fmt = 9993 )nc, sname, cuplo, n,
2288 $ alpha, incx, incy, lda
2291 CALL cssyr2( iorder, uplo, n, alpha, xx, incx,
2292 $ yy, incy, aa, lda )
2293 ELSE IF( packed )
THEN
2295 $
WRITE( ntra, fmt = 9994 )nc, sname, cuplo, n,
2299 CALL csspr2( iorder, uplo, n, alpha, xx, incx,
2306 WRITE( nout, fmt = 9992 )
2313 isame( 1 ) = uplo.EQ.uplos
2314 isame( 2 ) = ns.EQ.n
2315 isame( 3 ) = als.EQ.alpha
2316 isame( 4 ) =
lse( xs, xx, lx )
2317 isame( 5 ) = incxs.EQ.incx
2318 isame( 6 ) =
lse( ys, yy, ly )
2319 isame( 7 ) = incys.EQ.incy
2321 isame( 8 ) =
lse( as, aa, laa )
2323 isame( 8 ) =
lseres( sname( 8: 9 ), uplo, n, n,
2326 IF( .NOT.packed )
THEN
2327 isame( 9 ) = ldas.EQ.lda
2334 same = same.AND.isame( i )
2335 IF( .NOT.isame( i ) )
2336 $
WRITE( nout, fmt = 9998 )i
2353 z( i, 1 ) = x( n - i + 1 )
2362 z( i, 2 ) = y( n - i + 1 )
2376 CALL smvch(
'N', lj, 2, alpha, z( jj, 1 ),
2377 $ nmax, w, 1, one, a( jj, j ), 1,
2378 $ yt, g, aa( ja ), eps, err, fatal,
2389 errmax = max( errmax, err )
2412 IF( errmax.LT.thresh )
THEN
2413 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10000 )sname, nc
2414 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10001 )sname, nc
2416 IF ( iorder.EQ.0)
WRITE( nout, fmt = 10002 )sname, nc, errmax
2417 IF ( iorder.EQ.1)
WRITE( nout, fmt = 10003 )sname, nc, errmax
2422 WRITE( nout, fmt = 9995 )j
2425 WRITE( nout, fmt = 9996 )sname
2427 WRITE( nout, fmt = 9993 )nc, sname, cuplo, n, alpha, incx,
2429 ELSE IF( packed )
THEN
2430 WRITE( nout, fmt = 9994 )nc, sname, cuplo, n, alpha, incx, incy
2436 10003
FORMAT(
' ', a12,
' COMPLETED THE ROW-MAJOR COMPUTATIONAL ',
2437 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2438 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2439 10002
FORMAT(
' ', a12,
' COMPLETED THE COLUMN-MAJOR COMPUTATIONAL ',
2440 $
'TESTS (', i6,
' CALLS)', /
' ******* BUT WITH MAXIMUM TEST ',
2441 $
'RATIO ', f8.2,
' - SUSPECT *******' )
2442 10001
FORMAT(
' ', a12,
' PASSED THE ROW-MAJOR COMPUTATIONAL TESTS',
2443 $
' (', i6,
' CALL',
'S)' )
2444 10000
FORMAT(
' ', a12,
' PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS',
2445 $
' (', i6,
' CALL',
'S)' )
2446 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
2447 $
'ANGED INCORRECTLY *******' )
2448 9997
FORMAT(
' ',a12,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
2449 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
2450 $
' - SUSPECT *******' )
2451 9996
FORMAT(
' ******* ',a12,
' FAILED ON CALL NUMBER:' )
2452 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
2453 9994
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', X,',
2454 $ i2,
', Y,', i2,
', AP) .' )
2455 9993
FORMAT( 1x, i6,
': ',a12,
'(', a14,
',', i3,
',', f4.1,
', X,',
2456 $ i2,
', Y,', i2,
', A,', i3,
') .' )
2457 9992
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
subroutine smake(TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, KL, KU, RESET, TRANSL)
subroutine smvch(TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y, INCY, YT, G, YY, EPS, ERR, FATAL, NOUT, MV)
logical function lse(RI, RJ, LR)
logical function lseres(TYPE, UPLO, M, N, AA, AS, LDA)