434 SUBROUTINE cchk1( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
435 $ FATAL, NIDIM, IDIM, NKB, KB, NALF, ALF, NBET,
436 $ BET, NINC, INC, NMAX, INCMAX, A, AA, AS, X, XX,
437 $ XS, Y, YY, YS, YT, G )
449PARAMETER ( ZERO = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ) )
451 parameter( rzero = 0.0 )
454 INTEGER , NALF, NBET, NIDIM, NINC, NKB, NMAX,
456 LOGICAL FATAL, REWI, TRACE
459 COMPLEX ( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
460 $ as( nmax*nmax ), bet( nbet ), x( nmax ),
461 $ xs( nmax*incmax ), xx( nmax*incmax ),
462 $ y( nmax ), ys( nmax*incmax ), yt( nmax ),
465 INTEGER IDIM( NIDIM ), INC( NINC ), KB( NKB )
467 COMPLEX ALPHA, ALS, BETA, BLS, TRANSL
469 INTEGER I, IA, IB, IC, IKU, IM, IN, INCX, INCXS, ,
470 $ incys, ix, iy, kl, kls, ku, kus, laa, lda,
471 $ ldas, lx, ly, m, ml, ms, n, nargs, nc, nd, nk,
473 LOGICAL BANDED, FULL, NULL, RESET, SAME, TRAN
474 CHARACTER*1 TRANS, TRANSS
489 COMMON /infoc/infot, noutc, ok, lerr
493 full = sname( 3: 3 ).EQ.
'E'
494 banded = sname( 3: 3 ).EQ.
'B'
498 ELSE IF( banded )
THEN
512 $ m =
max( n - nd, 0 )
514 $ m =
min( n + nd, nmax )
524 kl =
max( ku - 1, 0 )
541 null = n.LE.0.OR.m.LE.0
546 CALL cmake( sname( 2: 3 ),
' ',
' ', m, n, a, nmax, aa,
547 $ lda, kl, ku, reset, transl )
550 trans = ich( ic: ic )
551 tran = trans.EQ.
'T'.OR.trans.EQ.
'C'
568 CALL cmake(
'GE',
' ',
' ', 1,
nl, x, 1, xx,
569 $ abs( incx ), 0,
nl - 1, reset, transl )
572 xx( 1 + abs( incx )*(
nl/2 - 1 ) ) = zero
588 CALL cmake(
'GE',
' ',
' ', 1, ml, y, 1,
589 $ yy, abs( incy ), 0, ml - 1,
621 $
WRITE( ntra, fmt = 9994 )nc, sname,
622 $ trans, m, n, alpha, lda, incx, beta,
626 CALL cgemv( trans, m, n, alpha, aa,
627 $ lda, xx, incx, beta, yy,
629 ELSE IF( banded )
THEN
631 $
WRITE( ntra, fmt = 9995 )nc, sname,
632 $ trans, m, n, kl, ku, alpha, lda,
636 CALL cgbmv( trans, m, n, kl, ku, alpha,
637 $ aa, lda, xx, incx, beta,
644 WRITE( nout, fmt = 9993 )
651 isame( 1 ) = trans.EQ.transs
655 isame( 4 ) = als.EQ.alpha
656 isame( 5 ) = lce( as, aa, laa )
657 isame( 6 ) = ldas.EQ.lda
658 isame( 7 ) = lce( xs, xx, lx )
659 isame( 8 ) = incxs.EQ.incx
660 isame( 9 ) = bls.EQ.beta
662 isame( 10 ) = lce( ys, yy, ly )
664 isame( 10 ) = lceres(
'GE',
' ', 1,
668 isame( 11 ) = incys.EQ.incy
669 ELSE IF( banded )
THEN
670 isame( 4 ) = kls.EQ.kl
671 isame( 5 ) = kus.EQ.ku
672 isame( 6 ) = als.EQ.alpha
674 isame( 8 ) = ldas.EQ.lda
675 isame( 9 ) = lce( xs, xx, lx )
676 isame( 10 ) = incxs.EQ.incx
677 isame( 11 ) = bls.EQ.beta
679 isame( 12 ) = lce( ys, yy, ly )
685 isame( 13 ) = incys.EQ.incy
693 same = same.AND.isame( i )
694 IF( .NOT.isame( i ) )
695 $
WRITE( nout, fmt = 9998 )i
706 CALL cmvch( trans, m, n, alpha, a,
707 $ nmax, x, incx, beta, y,
708 $ incy, yt, g, yy, eps, err,
709 $ fatal, nout, .true. )
710 errmax =
max( errmax, err )
739 IF( errmax.LT.thresh )
THEN
740 WRITE( nout, fmt = 9999 )sname, nc
742 WRITE( nout, fmt = 9997 )sname, nc, errmax
747 WRITE( nout, fmt = 9996 )sname
749 WRITE( nout, fmt = 9994 )nc, sname, trans, m, n, alpha, lda,
751 ELSE IF( banded )
THEN
752 WRITE( nout, fmt = 9995 )nc, sname, trans, m, n, kl, ku,
753 $ alpha, lda, incx, beta, incy
759 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
761 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
762 $
'ANGED INCORRECTLY *******' )
763 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
764 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
765 $
' - SUSPECT *******' )
766 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
767 9995
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', 4( i3,
',' ),
'(',
768 $ f4.1,
',', f4.1,
'), A,', i3,
', X,', i2,
',(', f4.1,
',',
769 $ f4.1,
'), Y,', i2,
') .' )
770 9994
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', 2( i3,
',' ),
'(',
771 $ f4.1,
',', f4.1,
'), A,', i3,
', X,', i2,
',(', f4.1,
',',
772 $ f4.1,
'), Y,', i2,
') .' )
773 9993
FORMAT(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
779 SUBROUTINE cchk2( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
780 $ FATAL, NIDIM, IDIM, NKB, KB, NALF, ALF, NBET,
781 $ BET, NINC, INC, NMAX, INCMAX, A, AA, AS, X, XX,
782 $ XS, Y, YY, YS, YT, G )
794 PARAMETER ( ZERO = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ) )
796 PARAMETER ( RZERO = 0.0 )
799 INTEGER INCMAX, NALF, NBET, NIDIM, NINC, NKB, NMAX,
801 LOGICAL FATAL, REWI, TRACE
804 COMPLEX A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ),
805 $ as( nmax*nmax ), bet( nbet ), x( nmax ),
806 $ xs( nmax*incmax ), xx( nmax*incmax ),
807 $ y( nmax ), ys( nmax*incmax ), yt( nmax ),
810 INTEGER IDIM( NIDIM ), INC( NINC ), KB( NKB )
812 COMPLEX ALPHA, ALS, BETA, BLS, TRANSL
814 INTEGER I, IA, IB, IC, IK, IN, INCX, INCXS, INCY,
815 $ incys, ix, iy, k, ks, laa, lda, ldas, lx, ly,
816 $ n, nargs, nc, nk, ns
817 LOGICAL BANDED, FULL, NULL, , RESET, SAME
818 CHARACTER*1 UPLO, UPLOS
833 COMMON /infoc/infot, noutc, ok, lerr
837 full = sname( 3: 3 ).EQ.
'E'
838 banded = sname( 3: 3 ).EQ.
'B'
839 packed = sname( 3: 3 ).EQ.
'P'
843 ELSE IF( banded )
THEN
845 ELSE IF( packed )
THEN
879 laa = ( n*( n + 1 ) )/2
891 CALL cmake( sname( 2: 3 ), uplo,
' ', n, n, a, nmax, aa,
892 $ lda, k, k, reset, transl )
901 CALL cmake(
'GE',
' ',
' ', 1, n, x, 1, xx,
902 $ abs( incx ), 0, n - 1, reset, transl )
905 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
921 CALL cmake(
'GE',
' ',
' ', 1, n, y, 1, yy,
922 $ abs( incy ), 0, n - 1, reset,
952 $
WRITE( ntra, fmt = 9993 )nc, sname,
953 $ uplo, n, alpha, lda, incx, beta, incy
956 CALL chemv( uplo, n, alpha, aa, lda, xx,
957 $ incx, beta, yy, incy )
958 ELSE IF( banded )
THEN
960 $
WRITE( ntra, fmt = 9994 )nc, sname,
961 $ uplo, n, k, alpha, lda, incx, beta,
965 CALL chbmv( uplo, n, k, alpha, aa, lda,
966 $ xx, incx, beta, yy, incy )
967 ELSE IF( packed )
THEN
969 $
WRITE( ntra, fmt = 9995 )nc, sname
970 $ uplo, n, alpha, incx, beta, incy
973 CALL chpmv( uplo, n, alpha, aa, xx, incx,
980 WRITE( nout, fmt = 9992 )
987 isame( 1 ) = uplo.EQ.uplos
990 isame( 3 ) = als.EQ.alpha
991 isame( 4 ) = lce( as, aa, laa )
992 isame( 5 ) = ldas.EQ.lda
993 isame( 6 ) = lce( xs, xx, lx )
994 isame( 7 ) = incxs.EQ.incx
995 isame( 8 ) = bls.EQ.beta
997 isame( 9 ) = lce( ys, yy, ly )
999 isame( 9 ) = lceres(
'GE',
' ', 1, n,
1000 $ ys, yy, abs( incy ) )
1002 isame( 10 ) = incys.EQ.incy
1003 ELSE IF( banded )
THEN
1004 isame( 3 ) = ks.EQ.k
1005 isame( 4 ) = als.EQ.alpha
1006 isame( 5 ) = lce( as, aa, laa )
1007 isame( 6 ) = ldas.EQ.lda
1008 isame( 7 ) = lce( xs, xx, lx )
1009 isame( 8 ) = incxs.EQ.incx
1010 isame( 9 ) = bls.EQ.beta
1012 isame( 10 ) = lce( ys, yy, ly )
1014 isame( 10 ) = lceres(
'GE',
' ', 1, n,
1015 $ ys, yy, abs( incy ) )
1017 isame( 11 ) = incys.EQ.incy
1018 ELSE IF( packed )
THEN
1019 isame( 3 ) = als.EQ.alpha
1020 isame( 4 ) = lce( as, aa, laa )
1021 isame( 5 ) = lce( xs, xx, lx )
1022 isame( 6 ) = incxs.EQ.incx
1023 isame( 7 ) = bls.EQ.beta
1025 isame( 8 ) = lce( ys, yy, ly )
1027 isame( 8 ) = lceres(
'GE',
' ', 1, n,
1028 $ ys, yy, abs( incy ) )
1030 isame( 9 ) = incys.EQ.incy
1038 same = same.AND.isame( i )
1039 IF( .NOT.isame( i ) )
1040 $
WRITE( nout, fmt = 9998 )i
1051 CALL cmvch( 'n
', N, N, ALPHA, A, NMAX, X,
1052 $ INCX, BETA, Y, INCY, YT, G,
1053 $ YY, EPS, ERR, FATAL, NOUT,
1055 ERRMAX = MAX( ERRMAX, ERR )
1081.LT.
IF( ERRMAXTHRESH )THEN
1082 WRITE( NOUT, FMT = 9999 )SNAME, NC
1084 WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX
1089 WRITE( NOUT, FMT = 9996 )SNAME
1091 WRITE( NOUT, FMT = 9993 )NC, SNAME, UPLO, N, ALPHA, LDA, INCX,
1093 ELSE IF( BANDED )THEN
1094 WRITE( NOUT, FMT = 9994 )NC, SNAME, UPLO, N, K, ALPHA, LDA,
1096 ELSE IF( PACKED )THEN
1097 WRITE( NOUT, FMT = 9995 )NC, SNAME, UPLO, N, ALPHA, INCX,
1104 9999 FORMAT( ' ', A6, ' passed
the computational
', I6, ' call',
1106 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1107 $
'ANGED INCORRECTLY *******' )
1108 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1109 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1110 $
' - SUSPECT *******' )
1111 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1112 9995
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3, ',(
', F4.1, ',
',
1113 $ F4.1, '), ap, x,
', I2, ',(
', F4.1, ',
', F4.1, '), y,
', I2,
1115 9994 FORMAT( 1X, I6, ':
', A6, '(
''', A1, ''',
', 2( I3, ',
' ), '(
',
1116 $ F4.1, ',
', F4.1, '), a,
', I3, ', x,
', I2, ',(
', F4.1, ',
',
1117 $ F4.1, '), y,
', I2, ') .
' )
1118 9993 FORMAT( 1X, I6, ':
', A6, '(
''', A1, ''',
', I3, ',(
', F4.1, ',
',
1119 $ F4.1, '), a,
', I3, ', x,
', I2, ',(
', F4.1, ',
', F4.1, '),
',
1121 9992 FORMAT( ' ******* fatal error - error-
EXIT taken on valid
CALL ',
1488 SUBROUTINE cchk4( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
1489 $ FATAL, NIDIM, IDIM, NALF, ALF, NINC, INC, NMAX,
1490 $ INCMAX, A, AA, AS, X, XX, XS, Y, YY, YS, YT, G,
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,
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,
1526LOGICAL CONJ, NULL, RESET, SAME
1532 EXTERNAL lce, lceres
1536 INTRINSIC abs, conjg,
max,
min
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 *',
1765 SUBROUTINE cchk5( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
1766 $ FATAL, NIDIM, IDIM, NALF, ALF, NINC, INC, NMAX,
1767 $ INCMAX, A, AA, AS, X, XX, XS, Y, YY, YS, YT, G,
1779 COMPLEX ZERO, HALF, ONE
1780 PARAMETER ( ZERO = ( 0.0, 0.0 ), half = ( 0.5, 0.0 ),
1781 $ one = ( 1.0, 0.0 ) )
1783 PARAMETER ( RZERO = 0.0 )
1786 INTEGER INCMAX, NALF, NIDIM, NINC, NMAX, NOUT,
1787 LOGICAL FATAL, REWI, TRACE
1790 COMPLEX A( NMAX, NMAX ), AA( *NMAX ), ALF( NALF ),
1791 $ as( nmax*nmax ), x( nmax ), xs( nmax*incmax ),
1792 $ xx( nmax*incmax ), y( nmax ),
1793 $ ys( nmax*incmax ), yt( nmax ),
1794 $ yy( nmax*incmax ), z( nmax )
1796 INTEGER IDIM( NIDIM ), ( NINC )
1798 COMPLEX ALPHA, TRANSL
1799 REAL ERR, ERRMAX, , RALS
1800 INTEGER I, IA, IC, IN, INCX, INCXS, IX, J, JA, JJ, LAA,
1801 $ LDA, LDAS, LJ, LX, N, NARGS, NC, NS
1802 LOGICAL FULL, NULL, PACKED, RESET, SAME, UPPER
1803 CHARACTER*1 UPLO, UPLOS
1810 EXTERNAL lce, lceres
1814 INTRINSIC abs,
cmplx, conjg,
max, real
1816 INTEGER INFOT, NOUTC
1819 COMMON /infoc/infot, noutc, ok, lerr
1823 full = sname( 3: 3 ).EQ.
'E'
1824 packed = sname( 3: 3 ).EQ.
'P'
1828 ELSE IF( packed )
THEN
1836 DO 100 in = 1, nidim
1846 laa = ( n*( n + 1 ) )/2
1852 uplo = ich( ic: ic )
1862 CALL cmake(
'GE',
' ',
' ', 1, n, x, 1, xx, abs( incx ),
1863 $ 0, n - 1, reset, transl )
1866 xx( 1 + abs( incx )*( n/2 - 1 ) ) = zero
1870 ralpha = real( alf( ia ) )
1871 alpha =
cmplx( ralpha, rzero )
1872 null = n.LE.0.OR.ralpha.EQ.rzero
1877 CALL cmake( sname( 2: 3 ), uplo,
' ', n, n, a, nmax,
1878 $ aa, lda, n - 1, n - 1, reset, transl )
1900 $
WRITE( ntra, fmt = 9993 )nc, sname, uplo, n,
1904 CALL cher( uplo, n, ralpha, xx, incx, aa, lda )
1905 ELSE IF( packed )
THEN
1907 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo, n,
1911 CALL chpr( uplo, n, ralpha, xx, incx, aa )
1917 WRITE( nout, fmt = 9992 )
1924 isame( 1 ) = uplo.EQ.uplos
1925 isame( 2 ) = ns.EQ.n
1926 isame( 3 ) = rals.EQ.ralpha
1927 isame( 4 ) = lce( xs, xx, lx )
1928 isame( 5 ) = incxs.EQ.incx
1930 isame( 6 ) = lce( as, aa, laa )
1932 isame( 6 ) = lceres( sname( 2: 3 ), uplo, n, n, as,
1935 IF( .NOT.packed )
THEN
1936 isame( 7 ) = ldas.EQ.lda
1943 same = same.AND.isame( i )
1944 IF( .NOT.isame( i ) )
1945 $
WRITE( nout, fmt = 9998 )i
1962 z( i ) = x( n - i + 1 )
1967 w( 1 ) = conjg( z( j ) )
1975 CALL cmvch(
'N', lj, 1, alpha, z( jj ), lj, w,
1976 $ 1, one, a( jj, j ), 1, yt, g,
1977 $ aa( ja ), eps, err, fatal, nout,
1988 errmax =
max( errmax, err )
2009 IF( errmax.LT.thresh )
THEN
2010 WRITE( nout, fmt = 9999 )sname, nc
2012 WRITE( nout, fmt = 9997 )sname, nc, errmax
2017 WRITE( nout, fmt = 9995 )j
2020 WRITE( nout, fmt = 9996 )sname
2022 WRITE( nout, fmt = 9993 )nc, sname, uplo, n, ralpha, incx, lda
2023 ELSE IF( packed )
THEN
2024 WRITE( nout, fmt = 9994 )nc, sname, uplo, n, ralpha, incx
2030 9999
FORMAT(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
2032 9998
FORMAT(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
2033 $
'ANGED INCORRECTLY *******' )
2034 9997
FORMAT(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
2035 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
2036 $
' - SUSPECT *******' )
2037 9996
FORMAT(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
2038 9995
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
2039 9994
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1,
', X,',
2041 9993
FORMAT( 1x, i6,
': ', a6,
'(''', a1,
''',', i3,
',', f4.1, ', x,
',
2042 $ I2, ', a,
', I3, ') .
' )
2043 9992 FORMAT( ' ******* fatal error - error-
EXIT taken on valid
CALL *
',
2387 INTEGER INFOT, NOUTC
2393 COMPLEX A( 1, 1 ), X( 1 ), Y( 1 )
2395 EXTERNAL , CGEMV, CGERC, CGERU, CHBMV, CHEMV, CHER,
2399 COMMON /infoc/infot, noutc, ok, lerr
2407 GO TO ( 10, 20, 30, 40, 50, 60, 70, 80,
2408 $ 90, 100, 110, 120, 130, 140, 150, 160,
2411 CALL cgemv(
'/', 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2412 CALL chkxer( srnamt, infot, nout, lerr, ok )
2414 CALL cgemv(
'N', -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2415 CALL chkxer( srnamt, infot, nout, lerr, ok )
2417 CALL cgemv(
'N', 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2418 CALL chkxer( srnamt, infot, nout, lerr, ok )
2420 CALL cgemv(
'N', 2, 0, alpha, a, 1, x, 1, beta, y, 1 )
2421 CALL chkxer( srnamt, infot, nout, lerr, ok )
2423 CALL cgemv(
'N', 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2424 CALL chkxer( srnamt, infot, nout, lerr, ok )
2426 CALL cgemv(
'N', 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2427 CALL chkxer( srnamt, infot, nout, lerr, ok )
2430 CALL cgbmv(
'/', 0, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2431 CALL chkxer( srnamt, infot, nout, lerr, ok )
2433 CALL cgbmv(
'N', -1, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2434 CALL chkxer( srnamt, infot, nout, lerr, ok )
2436 CALL cgbmv(
'N', 0, -1, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2437 CALL chkxer( srnamt, infot, nout, lerr, ok )
2439 CALL cgbmv(
'N', 0, 0, -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2440 CALL chkxer( srnamt, infot, nout, lerr, ok )
2442 CALL cgbmv(
'N', 2, 0, 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2443 CALL chkxer( srnamt, infot, nout, lerr, ok )
2445 CALL cgbmv(
'N', 0, 0, 1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2446 CALL chkxer( srnamt, infot, nout, lerr, ok )
2448 CALL cgbmv(
'N', 0, 0, 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2449 CALL chkxer( srnamt, infot, nout, lerr, ok )
2451 CALL cgbmv(
'N', 0, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2452 CALL chkxer( srnamt, infot, nout, lerr, ok )
2455 CALL chemv(
'/', 0, alpha, a, 1, x, 1, beta, y, 1 )
2456 CALL chkxer( srnamt, infot, nout, lerr, ok )
2458 CALL chemv(
'U', -1, alpha, a, 1, x, 1, beta, y, 1 )
2459 CALL chkxer( srnamt, infot, nout, lerr, ok )
2461 CALL chemv(
'U', 2, alpha, a, 1, x, 1, beta, y, 1 )
2462 CALL chkxer( srnamt, infot, nout, lerr, ok )
2464 CALL chemv(
'U', 0, alpha, a, 1, x, 0, beta, y, 1 )
2465 CALL chkxer( srnamt, infot, nout, lerr, ok )
2467 CALL chemv(
'U', 0, alpha, a, 1, x, 1, beta, y, 0 )
2468 CALL chkxer( srnamt, infot, nout, lerr, ok )
2471 CALL chbmv(
'/', 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2472 CALL chkxer( srnamt, infot, nout, lerr, ok )
2474 CALL chbmv(
'U', -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2475 CALL chkxer( srnamt, infot, nout, lerr, ok )
2477 CALL chbmv(
'U', 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2478 CALL chkxer( srnamt, infot, nout, lerr, ok )
2480 CALL chbmv(
'U', 0, 1, alpha, a, 1, x, 1, beta, y, 1 )
2481 CALL chkxer( srnamt, infot, nout, lerr, ok )
2483 CALL chbmv(
'U', 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2484 CALL chkxer( srnamt, infot, nout, lerr, ok )
2486 CALL chbmv(
'U', 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2487 CALL chkxer( srnamt, infot, nout, lerr, ok )
2490 CALL chpmv(
'/', 0, alpha, a, x, 1, beta, y, 1 )
2491 CALL chkxer( srnamt, infot, nout, lerr, ok )
2493 CALL chpmv(
'U', -1, alpha, a, x, 1, beta, y, 1 )
2494 CALL chkxer( srnamt, infot, nout, lerr, ok )
2496 CALL chpmv(
'U', 0, alpha, a, x, 0, beta, y, 1 )
2497 CALL chkxer( srnamt, infot, nout, lerr, ok )
2499 CALL chpmv(
'U', 0, alpha, a, x, 1, beta, y, 0 )
2500 CALL chkxer( srnamt, infot, nout, lerr, ok )
2503 CALL ctrmv(
'/',
'N',
'N', 0, a, 1, x, 1 )
2504 CALL chkxer( srnamt, infot, nout, lerr, ok )
2506 CALL ctrmv(
'U',
'/',
'N', 0, a, 1, x, 1 )
2507 CALL chkxer( srnamt, infot, nout, lerr, ok )
2509 CALL ctrmv( 'u
', 'n
', '/
', 0, A, 1, X, 1 )
2510 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2512 CALL CTRMV( 'u
', 'n
', 'n
', -1, A, 1, X, 1 )
2513 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2515 CALL CTRMV( 'u
', 'n
', 'n
', 2, A, 1, X, 1 )
2516 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2518 CALL CTRMV( 'u
', 'n
', 'n
', 0, A, 1, X, 0 )
2519 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2522 CALL CTBMV( '/
', 'n
', 'n
', 0, 0, A, 1, X, 1 )
2523 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2525 CALL CTBMV( 'u
', '/
', 'n
', 0, 0, A, 1, X, 1 )
2526 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2528 CALL CTBMV( 'u
', 'n
', '/
', 0, 0, A, 1, X, 1 )
2529 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2531 CALL CTBMV( 'u
', 'n
', 'n
', -1, 0, A, 1, X, 1 )
2532 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2534 CALL CTBMV( 'u
', 'n
', 'n
', 0, -1, A, 1, X, 1 )
2535 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2537 CALL CTBMV( 'u
', 'n
', 'n
', 0, 1, A, 1, X, 1 )
2538 CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
2540 CALL CTBMV( 'u
', 'n',
'N', 0, 0, a, 1, x, 0 )
2541 CALL chkxer( srnamt, infot, nout, lerr, ok )
2544 CALL ctpmv(
'/',
'N',
'N', 0, a, x, 1 )
2545 CALL chkxer( srnamt, infot, nout, lerr, ok )
2547 CALL ctpmv(
'U',
'/',
'N', 0, a, x, 1 )
2548 CALL chkxer( srnamt, infot, nout, lerr, ok )
2550 CALL ctpmv(
'U',
'N',
'/', 0, a, x, 1 )
2551 CALL chkxer( srnamt, infot, nout, lerr, ok )
2553 CALL ctpmv(
'U',
'N',
'N', -1, a, x, 1 )
2554 CALL chkxer( srnamt, infot, nout, lerr, ok )
2556 CALL ctpmv(
'U',
'N',
'N', 0, a, x, 0 )
2557 CALL chkxer( srnamt, infot, nout, lerr, ok )
2560 CALL ctrsv(
'/',
'N',
'N', 0, a, 1, x, 1 )
2561 CALL chkxer( srnamt, infot, nout, lerr, ok )
2563 CALL ctrsv(
'U',
'/',
'N', 0, a, 1, x, 1 )
2564 CALL chkxer( srnamt, infot, nout, lerr, ok )
2566 CALL ctrsv(
'U',
'N',
'/', 0, a, 1, x, 1 )
2567 CALL chkxer( srnamt, infot, nout, lerr, ok )
2569 CALL ctrsv(
'U',
'N',
'N', -1, a, 1, x, 1 )
2570 CALL chkxer( srnamt, infot, nout, lerr, ok )
2572 CALL ctrsv(
'U',
'N',
'N', 2, a, 1, x, 1 )
2573 CALL chkxer( srnamt, infot, nout, lerr, ok )
2575 CALL ctrsv(
'U',
'N',
'N', 0, a, 1, x, 0 )
2576 CALL chkxer( srnamt, infot, nout, lerr, ok )
2579 CALL ctbsv(
'/',
'N',
'N', 0, 0, a, 1, x, 1 )
2580 CALL chkxer( srnamt, infot, nout, lerr, ok )
2582 CALL ctbsv(
'U',
'/',
'N', 0, 0, a, 1, x, 1 )
2583 CALL chkxer( srnamt, infot, nout, lerr, ok )
2585 CALL ctbsv(
'U',
'N',
'/', 0, 0, a, 1, x, 1 )
2586 CALL chkxer( srnamt, infot, nout, lerr, ok )
2588 CALL ctbsv(
'U',
'N',
'N', -1, 0, a, 1, x, 1 )
2589 CALL chkxer( srnamt, infot, nout, lerr, ok )
2591 CALL ctbsv(
'U',
'N',
'N', 0, -1, a, 1, x, 1 )
2592 CALL chkxer( srnamt, infot, nout, lerr, ok )
2594 CALL ctbsv(
'U',
'N',
'N', 0, 1, a, 1, x, 1 )
2595 CALL chkxer( srnamt, infot, nout, lerr, ok )
2597 CALL ctbsv(
'U',
'N',
'N', 0, 0, a, 1, x, 0 )
2598 CALL chkxer( srnamt, infot, nout, lerr, ok )
2601 CALL ctpsv(
'/',
'N',
'N', 0, a, x, 1 )
2602 CALL chkxer( srnamt, infot, nout, lerr, ok )
2604 CALL ctpsv(
'U',
'/',
'N', 0, a, x, 1 )
2605 CALL chkxer( srnamt, infot, nout, lerr, ok )
2607 CALL ctpsv(
'U',
'N',
'/', 0, a, x, 1 )
2608 CALL chkxer( srnamt, infot, nout, lerr, ok )
2610 CALL ctpsv(
'U',
'N',
'N', -1, a, x, 1 )
2611 CALL chkxer( srnamt, infot, nout, lerr, ok )
2613 CALL ctpsv(
'U',
'N',
'N', 0, a, x, 0 )
2614 CALL chkxer( srnamt, infot, nout, lerr, ok )
2617 CALL cgerc( -1, 0, alpha, x, 1, y, 1, a, 1 )
2618 CALL chkxer( srnamt, infot, nout, lerr, ok )
2620 CALL cgerc( 0, -1, alpha, x, 1, y, 1, a, 1 )
2621 CALL chkxer( srnamt, infot, nout, lerr, ok )
2623 CALL cgerc( 0, 0, alpha, x, 0, y, 1, a, 1 )
2624 CALL chkxer( srnamt, infot, nout, lerr, ok )
2626 CALL cgerc( 0, 0, alpha, x, 1, y, 0, a, 1 )
2627 CALL chkxer( srnamt, infot, nout, lerr, ok )
2629 CALL cgerc( 2, 0, alpha, x, 1, y, 1, a, 1 )
2630 CALL chkxer( srnamt, infot, nout, lerr, ok )
2633 CALL cgeru( -1, 0, alpha, x, 1, y, 1, a, 1 )
2634 CALL chkxer( srnamt, infot, nout, lerr, ok )
2636 CALL cgeru( 0, -1, alpha, x, 1, y, 1, a, 1 )
2637 CALL chkxer( srnamt, infot, nout, lerr, ok )
2639 CALL cgeru( 0, 0, alpha, x, 0, y, 1, a, 1 )
2640 CALL chkxer( srnamt, infot, nout, lerr, ok )
2642 CALL cgeru( 0, 0, alpha, x, 1, y, 0, a, 1 )
2643 CALL chkxer( srnamt, infot, nout, lerr, ok )
2645 CALL cgeru( 2, 0, alpha, x, 1, y, 1, a, 1 )
2646 CALL chkxer( srnamt, infot, nout, lerr, ok )
2649 CALL cher(
'/', 0, ralpha, x, 1, a, 1 )
2650 CALL chkxer( srnamt, infot, nout, lerr, ok )
2652 CALL cher(
'U', -1, ralpha, x, 1, a, 1 )
2653 CALL chkxer( srnamt, infot, nout, lerr, ok )
2655 CALL cher(
'U', 0, ralpha, x, 0, a, 1 )
2656 CALL chkxer( srnamt, infot, nout, lerr, ok )
2658 CALL cher(
'U', 2, ralpha, x, 1, a, 1 )
2659 CALL chkxer( srnamt, infot, nout, lerr, ok )
2662 CALL chpr(
'/', 0, ralpha, x, 1, a )
2663 CALL chkxer( srnamt, infot, nout, lerr, ok )
2665 CALL chpr(
'U', -1, ralpha, x, 1, a )
2666 CALL chkxer( srnamt, infot, nout, lerr, ok )
2668 CALL chpr(
'U', 0, ralpha, x, 0, a )
2669 CALL chkxer( srnamt, infot, nout, lerr, ok )
2672 CALL cher2(
'/', 0, alpha, x, 1, y, 1, a, 1 )
2673 CALL chkxer( srnamt, infot, nout, lerr, ok )
2675 CALL cher2(
'U', -1, alpha, x, 1, y, 1, a, 1 )
2676 CALL chkxer( srnamt, infot, nout, lerr, ok )
2678 CALL cher2(
'U', 0, alpha, x, 0, y, 1, a, 1 )
2679 CALL chkxer( srnamt, infot, nout, lerr, ok )
2681 CALL cher2(
'U', 0, alpha, x, 1, y, 0, a, 1 )
2682 CALL chkxer( srnamt, infot, nout, lerr, ok )
2684 CALL cher2(
'U', 2, alpha, x, 1, y, 1, a, 1 )
2685 CALL chkxer( srnamt, infot, nout, lerr, ok )
2688 CALL chpr2(
'/', 0, alpha, x, 1, y, 1, a )
2689 CALL chkxer( srnamt, infot, nout, lerr, ok )
2691 CALL chpr2(
'U', -1, alpha, x, 1, y, 1, a )
2692 CALL chkxer( srnamt, infot, nout, lerr, ok )
2694 CALL chpr2(
'U', 0, alpha, x, 0, y, 1, a )
2695 CALL chkxer( srnamt, infot, nout, lerr, ok )
2697 CALL chpr2(
'U', 0, alpha, x, 1, y, 0, a )
2698 CALL chkxer( srnamt, infot, nout, lerr, ok )
2701 WRITE( nout, fmt = 9999 )srnamt
2703 WRITE( nout, fmt = 9998 )srnamt
2707 9999
FORMAT(
' ', a6,
' PASSED THE TESTS OF ERROR-EXITS' )
2708 9998
FORMAT(
' ******* ', a6,
' FAILED THE TESTS OF ERROR-EXITS *****',