1502 COMPLEX ZERO, HALF, ONE
1503 parameter( zero = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ),
1504 $ one = ( 1.0, 0.0 ) )
1506 parameter( rzero = 0.0 )
1509 INTEGER INCMAX, NALF, NIDIM, NINC, NMAX, NOUT, NTRA
1510 LOGICAL FATAL, REWI, TRACE
1513 COMPLEX A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
1514 $ AS( NMAX*NMAX ), X( NMAX ), XS( NMAX*INCMAX ),
1515 $ XX( NMAX*INCMAX ), Y( NMAX ),
1516 $ YS( NMAX*INCMAX ), YT( NMAX ),
1517 $ YY( NMAX*INCMAX ), Z( NMAX )
1519 INTEGER IDIM( NIDIM ), INC( NINC )
1521 COMPLEX ALPHA, ALS, TRANSL
1523 INTEGER I, IA, IM, IN, INCX, INCXS, INCY, INCYS, IX,
1524 $ IY, J, LAA, LDA, LDAS, LX, LY, M, MS, N, NARGS,
1526 LOGICAL CONJ, NULL, RESET, SAME
1536 INTRINSIC abs, conjg, max, min
1538 INTEGER INFOT, NOUTC
1541 COMMON /infoc/infot, noutc, ok, lerr
1543 conj = sname( 5: 5 ).EQ.
'C'
1551 DO 120 in = 1, nidim
1557 $ m = max( n - nd, 0 )
1559 $ m = min( n + nd, nmax )
1569 null = n.LE.0.OR.m.LE.0
1578 CALL cmake(
'GE',
' ',
' ', 1, m, x, 1, xx, abs( incx ),
1579 $ 0, m - 1, reset, transl )
1582 xx( 1 + abs( incx )*( m/2 - 1 ) ) = zero
1592 CALL cmake(
'GE',
' ',
' ', 1, n, y, 1, yy,
1593 $ abs( incy ), 0, n - 1, reset, transl )
1596 yy( 1 + abs( incy )*( n/2 - 1 ) ) = zero
1605 CALL cmake( sname( 2: 3 ),
' ',
' ', m, n, a, nmax,
1606 $ aa, lda, m - 1, n - 1, reset, transl )
1631 $
WRITE( ntra, fmt = 9994 )nc, sname, m, n,
1632 $ alpha, incx, incy, lda
1636 CALL cgerc( m, n, alpha, xx, incx, yy, incy, aa,
1641 CALL cgeru( m, n, alpha, xx, incx, yy, incy, aa,
1648 WRITE( nout, fmt = 9993 )
1655 isame( 1 ) = ms.EQ.m
1656 isame( 2 ) = ns.EQ.n
1657 isame( 3 ) = als.EQ.alpha
1658 isame( 4 ) =
lce( xs, xx, lx )
1659 isame( 5 ) = incxs.EQ.incx
1660 isame( 6 ) =
lce( ys, yy, ly )
1661 isame( 7 ) = incys.EQ.incy
1663 isame( 8 ) =
lce( as, aa, laa )
1665 isame( 8 ) =
lceres(
'GE',
' ', m, n, as, aa,
1668 isame( 9 ) = ldas.EQ.lda
1674 same = same.AND.isame( i )
1675 IF( .NOT.isame( i ) )
1676 $
WRITE( nout, fmt = 9998 )i
1693 z( i ) = x( m - i + 1 )
1700 w( 1 ) = y( n - j + 1 )
1703 $ w( 1 ) = conjg( w( 1 ) )
1704 CALL cmvch(
'N', m, 1, alpha, z, nmax, w, 1,
1705 $ one, a( 1, j ), 1, yt, g,
1706 $ aa( 1 + ( j - 1 )*lda ), eps,
1707 $ err, fatal, nout, .true. )
1708 errmax = max( errmax, err )
1730 IF( errmax.LT.thresh )
THEN
1731 WRITE( nout, fmt = 9999 )sname, nc
1733 WRITE( nout, fmt = 9997 )sname, nc, errmax
1738 WRITE( nout, fmt = 9995 )j
1741 WRITE( nout, fmt = 9996 )sname
1742 WRITE( nout, fmt = 9994 )nc, sname, m, n, alpha, incx, incy, lda
1747 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1749 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1750 $
'ANGED INCORRECTLY *******' )
1751 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1752 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1753 $
' - SUSPECT *******' )
1754 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1755 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1756 9994
FORMAT( 1x, i6,
': ', a6,
'(', 2( i3,
',' ),
'(', f4.1,
',', f4.1,
1757 $
'), X,', i2,
', Y,', i2,
', A,', i3,
') ',
1759 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
subroutine cmake(TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, KL, KU, RESET, TRANSL)
logical function lce(RI, RJ, LR)
logical function lceres(TYPE, UPLO, M, N, AA, AS, LDA)
subroutine cmvch(TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y, INCY, YT, G, YY, EPS, ERR, FATAL, NOUT, MV)
subroutine cgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERC
subroutine cgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERU