1568 COMPLEX zero, half, one
1569 parameter ( zero = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ),
1570 $ one = ( 1.0, 0.0 ) )
1572 parameter ( rzero = 0.0 )
1575 INTEGER incmax, nalf, nidim, ninc, nmax, nout, ntra,
1577 LOGICAL fatal, rewi, trace
1580 COMPLEX a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
1581 $ as( nmax*nmax ), x( nmax ), xs( nmax*incmax ),
1582 $ xx( nmax*incmax ), y( nmax ),
1583 $ ys( nmax*incmax ), yt( nmax ),
1584 $ yy( nmax*incmax ), z( nmax )
1586 INTEGER idim( nidim ), inc( ninc )
1588 COMPLEX alpha, als, transl
1590 INTEGER i, ia, im, in, incx, incxs, incy, incys, ix,
1591 $ iy, j, laa, lda, ldas, lx, ly, m, ms, n, nargs,
1593 LOGICAL conj, null, reset, same
1603 INTRINSIC abs, conjg, max, min
1605 INTEGER infot, noutc
1608 COMMON /infoc/infot, noutc, ok
1610 conj = sname( 11: 11 ).EQ.
'c'
1618 DO 120 in = 1, nidim
1624 $ m = max( n - nd, 0 )
1626 $ m = min( n + nd, nmax )
1636 null = n.LE.0.OR.m.LE.0
1645 CALL cmake(
'ge',
' ',
' ', 1, m, x, 1, xx, abs( incx ),
1646 $ 0, m - 1, reset, transl )
1649 xx( 1 + abs( incx )*( m/2 - 1 ) ) = zero
1659 CALL cmake(
'ge',
' ',
' ', 1, n, y, 1, yy,
1660 $ abs( incy ), 0, n - 1, reset, transl )
1663 yy( 1 + abs( incy )*( n/2 - 1 ) ) = zero
1672 CALL cmake(sname( 8: 9 ),
' ',
' ', m, n, a, nmax,
1673 $ aa, lda, m - 1, n - 1, reset, transl )
1698 $
WRITE( ntra, fmt = 9994 )nc, sname, m, n,
1699 $ alpha, incx, incy, lda
1703 CALL ccgerc( iorder, m, n, alpha, xx, incx,
1704 $ yy, incy, aa, lda )
1708 CALL ccgeru( iorder, m, n, alpha, xx, incx,
1709 $ yy, incy, aa, lda )
1715 WRITE( nout, fmt = 9993 )
1722 isame( 1 ) = ms.EQ.m
1723 isame( 2 ) = ns.EQ.n
1724 isame( 3 ) = als.EQ.alpha
1725 isame( 4 ) =
lce( xs, xx, lx )
1726 isame( 5 ) = incxs.EQ.incx
1727 isame( 6 ) =
lce( ys, yy, ly )
1728 isame( 7 ) = incys.EQ.incy
1730 isame( 8 ) =
lce( as, aa, laa )
1732 isame( 8 ) =
lceres(
'ge',
' ', m, n, as, aa,
1735 isame( 9 ) = ldas.EQ.lda
1741 same = same.AND.isame( i )
1742 IF( .NOT.isame( i ) )
1743 $
WRITE( nout, fmt = 9998 )i
1760 z( i ) = x( m - i + 1 )
1767 w( 1 ) = y( n - j + 1 )
1770 $ w( 1 ) = conjg( w( 1 ) )
1771 CALL cmvch(
'N', m, 1, alpha, z, nmax, w, 1,
1772 $ one, a( 1, j ), 1, yt, g,
1773 $ aa( 1 + ( j - 1 )*lda ), eps,
1774 $ err, fatal, nout, .true. )
1775 errmax = max( errmax, err )
1797 IF( errmax.LT.thresh )
THEN
1798 WRITE( nout, fmt = 9999 )sname, nc
1800 WRITE( nout, fmt = 9997 )sname, nc, errmax
1805 WRITE( nout, fmt = 9995 )j
1808 WRITE( nout, fmt = 9996 )sname
1809 WRITE( nout, fmt = 9994 )nc, sname, m, n, alpha, incx, incy, lda
1814 9999
FORMAT(
' ',a12,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1816 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1817 $
'ANGED INCORRECTLY *******' )
1818 9997
FORMAT(
' ',a12,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1819 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1820 $
' - SUSPECT *******' )
1821 9996
FORMAT(
' ******* ',a12,
' FAILED ON CALL NUMBER:' )
1822 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1823 9994
FORMAT(1x, i6,
': ',a12,
'(', 2( i3,
',' ),
'(', f4.1,
',', f4.1,
1824 $
'), X,', i2,
', Y,', i2,
', A,', i3,
') .' )
1825 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
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)