1505 COMPLEX zero, half, one
1506 parameter ( zero = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ),
1507 $ one = ( 1.0, 0.0 ) )
1509 parameter ( rzero = 0.0 )
1512 INTEGER incmax, nalf, nidim, ninc, nmax, nout, ntra
1513 LOGICAL fatal, rewi, trace
1516 COMPLEX a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
1517 $ as( nmax*nmax ), x( nmax ), xs( nmax*incmax ),
1518 $ xx( nmax*incmax ), y( nmax ),
1519 $ ys( nmax*incmax ), yt( nmax ),
1520 $ yy( nmax*incmax ), z( nmax )
1522 INTEGER idim( nidim ), inc( ninc )
1524 COMPLEX alpha, als, transl
1526 INTEGER i, ia, im, in, incx, incxs, incy, incys, ix,
1527 $ iy, j, laa, lda, ldas, lx, ly, m, ms, n, nargs,
1529 LOGICAL conj, null, reset, same
1539 INTRINSIC abs, conjg, max, min
1541 INTEGER infot, noutc
1544 COMMON /infoc/infot, noutc, ok, lerr
1546 conj = sname( 5: 5 ).EQ.
'C'
1554 DO 120 in = 1, nidim
1560 $ m = max( n - nd, 0 )
1562 $ m = min( n + nd, nmax )
1572 null = n.LE.0.OR.m.LE.0
1581 CALL cmake(
'GE',
' ',
' ', 1, m, x, 1, xx, abs( incx ),
1582 $ 0, m - 1, reset, transl )
1585 xx( 1 + abs( incx )*( m/2 - 1 ) ) = zero
1595 CALL cmake(
'GE',
' ',
' ', 1, n, y, 1, yy,
1596 $ abs( incy ), 0, n - 1, reset, transl )
1599 yy( 1 + abs( incy )*( n/2 - 1 ) ) = zero
1608 CALL cmake( sname( 2: 3 ),
' ',
' ', m, n, a, nmax,
1609 $ aa, lda, m - 1, n - 1, reset, transl )
1634 $
WRITE( ntra, fmt = 9994 )nc, sname, m, n,
1635 $ alpha, incx, incy, lda
1639 CALL cgerc( m, n, alpha, xx, incx, yy, incy, aa,
1644 CALL cgeru( m, n, alpha, xx, incx, yy, incy, aa,
1651 WRITE( nout, fmt = 9993 )
1658 isame( 1 ) = ms.EQ.m
1659 isame( 2 ) = ns.EQ.n
1660 isame( 3 ) = als.EQ.alpha
1661 isame( 4 ) =
lce( xs, xx, lx )
1662 isame( 5 ) = incxs.EQ.incx
1663 isame( 6 ) =
lce( ys, yy, ly )
1664 isame( 7 ) = incys.EQ.incy
1666 isame( 8 ) =
lce( as, aa, laa )
1668 isame( 8 ) =
lceres(
'GE',
' ', m, n, as, aa,
1671 isame( 9 ) = ldas.EQ.lda
1677 same = same.AND.isame( i )
1678 IF( .NOT.isame( i ) )
1679 $
WRITE( nout, fmt = 9998 )i
1696 z( i ) = x( m - i + 1 )
1703 w( 1 ) = y( n - j + 1 )
1706 $ w( 1 ) = conjg( w( 1 ) )
1707 CALL cmvch(
'N', m, 1, alpha, z, nmax, w, 1,
1708 $ one, a( 1, j ), 1, yt, g,
1709 $ aa( 1 + ( j - 1 )*lda ), eps,
1710 $ err, fatal, nout, .true. )
1711 errmax = max( errmax, err )
1733 IF( errmax.LT.thresh )
THEN
1734 WRITE( nout, fmt = 9999 )sname, nc
1736 WRITE( nout, fmt = 9997 )sname, nc, errmax
1741 WRITE( nout, fmt = 9995 )j
1744 WRITE( nout, fmt = 9996 )sname
1745 WRITE( nout, fmt = 9994 )nc, sname, m, n, alpha, incx, incy, lda
1750 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1752 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1753 $
'ANGED INCORRECTLY *******' )
1754 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1755 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1756 $
' - SUSPECT *******' )
1757 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1758 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1759 9994
FORMAT( 1x, i6,
': ', a6,
'(', 2( i3,
',' ),
'(', f4.1,
',', f4.1,
1760 $
'), X,', i2,
', Y,', i2,
', A,', i3,
') ',
1762 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
subroutine cgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERC
subroutine cmvch(TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y, INCY, YT, G, YY, EPS, ERR, FATAL, NOUT, MV)
logical function lce(RI, RJ, LR)
subroutine cmake(TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, KL, KU, RESET, TRANSL)
logical function lceres(TYPE, UPLO, M, N, AA, AS, LDA)
subroutine cgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERU