100 parameter( nsubs = 9 )
102 parameter( zero = ( 0.0d0, 0.0d0 ),
103 $ one = ( 1.0d0, 0.0d0 ) )
104 DOUBLE PRECISION rzero
105 parameter( rzero = 0.0d0 )
107 parameter( nmax = 65 )
108 INTEGER nidmax, nalmax, nbemax
109 parameter( nidmax = 9, nalmax = 7, nbemax = 7 )
111 DOUBLE PRECISION eps, err, thresh
112 INTEGER i, isnum, j, n, nalf, nbet, nidim, nout, ntra
113 LOGICAL fatal, ltestt, rewi, same, sfatal, trace,
115 CHARACTER*1 transa, transb
117 CHARACTER*32 snaps, summry
119 COMPLEX*16 aa( nmax*nmax ), ab( nmax, 2*nmax ),
120 $ alf( nalmax ), as( nmax*nmax ),
121 $ bb( nmax*nmax ), bet( nbemax ),
122 $ bs( nmax*nmax ), c( nmax, nmax ),
123 $ cc( nmax*nmax ), cs( nmax*nmax ), ct( nmax ),
125 DOUBLE PRECISION g( nmax )
126 INTEGER idim( nidmax )
127 LOGICAL ltest( nsubs )
128 CHARACTER*6 snames( nsubs )
130 DOUBLE PRECISION ddiff
142 common /infoc/infot, noutc, ok, lerr
143 common /srnamc/srnamt
145 DATA snames/
'ZGEMM ',
'ZHEMM ',
'ZSYMM ',
'ZTRMM ',
146 $
'ZTRSM ',
'ZHERK ',
'ZSYRK ',
'ZHER2K',
152 READ( nin, fmt = * )summry
153 READ( nin, fmt = * )nout
154 OPEN( nout, file = summry, status =
'UNKNOWN' )
159 READ( nin, fmt = * )snaps
160 READ( nin, fmt = * )ntra
163 OPEN( ntra, file = snaps, status =
'UNKNOWN' )
166 READ( nin, fmt = * )rewi
167 rewi = rewi.AND.trace
169 READ( nin, fmt = * )sfatal
171 READ( nin, fmt = * )tsterr
173 READ( nin, fmt = * )thresh
178 READ( nin, fmt = * )nidim
179 IF( nidim.LT.1.OR.nidim.GT.nidmax )
THEN
180 WRITE( nout, fmt = 9997 )
'N', nidmax
183 READ( nin, fmt = * )( idim( i ), i = 1, nidim )
185 IF( idim( i ).LT.0.OR.idim( i ).GT.nmax )
THEN
186 WRITE( nout, fmt = 9996 )nmax
191 READ( nin, fmt = * )nalf
192 IF( nalf.LT.1.OR.nalf.GT.nalmax )
THEN
193 WRITE( nout, fmt = 9997 )
'ALPHA', nalmax
196 READ( nin, fmt = * )( alf( i ), i = 1, nalf )
198 READ( nin, fmt = * )nbet
199 IF( nbet.LT.1.OR.nbet.GT.nbemax )
THEN
200 WRITE( nout, fmt = 9997 )
'BETA', nbemax
203 READ( nin, fmt = * )( bet( i ), i = 1, nbet )
207 WRITE( nout, fmt = 9995 )
208 WRITE( nout, fmt = 9994 )( idim( i ), i = 1, nidim )
209 WRITE( nout, fmt = 9993 )( alf( i ), i = 1, nalf )
210 WRITE( nout, fmt = 9992 )( bet( i ), i = 1, nbet )
211 IF( .NOT.tsterr )
THEN
212 WRITE( nout, fmt = * )
213 WRITE( nout, fmt = 9984 )
215 WRITE( nout, fmt = * )
216 WRITE( nout, fmt = 9999 )thresh
217 WRITE( nout, fmt = * )
225 30
READ( nin, fmt = 9988,
END = 60 )snamet, ltestt
227 IF( snamet.EQ.snames( i ) )
230 WRITE( nout, fmt = 9990 )snamet
232 50 ltest( i ) = ltestt
241 WRITE( nout, fmt = 9998 )eps
248 ab( i, j ) = max( i - j + 1, 0 )
250 ab( j, nmax + 1 ) = j
251 ab( 1, nmax + j ) = j
255 cc( j ) = j*( ( j + 1 )*j )/2 - ( ( j + 1 )*j*( j - 1 ) )/3
261 CALL
zmmch( transa, transb, n, 1, n, one, ab, nmax,
262 $ ab( 1, nmax + 1 ), nmax, zero, c, nmax, ct, g, cc,
263 $ nmax, eps, err, fatal, nout, .true. )
264 same =
lze( cc, ct, n )
265 IF( .NOT.same.OR.err.NE.rzero )
THEN
266 WRITE( nout, fmt = 9989 )transa, transb, same, err
270 CALL
zmmch( transa, transb, n, 1, n, one, ab, nmax,
271 $ ab( 1, nmax + 1 ), nmax, zero, c, nmax, ct, g, cc,
272 $ nmax, eps, err, fatal, nout, .true. )
273 same =
lze( cc, ct, n )
274 IF( .NOT.same.OR.err.NE.rzero )
THEN
275 WRITE( nout, fmt = 9989 )transa, transb, same, err
279 ab( j, nmax + 1 ) = n - j + 1
280 ab( 1, nmax + j ) = n - j + 1
283 cc( n - j + 1 ) = j*( ( j + 1 )*j )/2 -
284 $ ( ( j + 1 )*j*( j - 1 ) )/3
288 CALL
zmmch( transa, transb, n, 1, n, one, ab, nmax,
289 $ ab( 1, nmax + 1 ), nmax, zero, c, nmax, ct, g, cc,
290 $ nmax, eps, err, fatal, nout, .true. )
291 same =
lze( cc, ct, n )
292 IF( .NOT.same.OR.err.NE.rzero )
THEN
293 WRITE( nout, fmt = 9989 )transa, transb, same, err
297 CALL
zmmch( transa, transb, n, 1, n, one, ab, nmax,
298 $ ab( 1, nmax + 1 ), nmax, zero, c, nmax, ct, g, cc,
299 $ nmax, eps, err, fatal, nout, .true. )
300 same =
lze( cc, ct, n )
301 IF( .NOT.same.OR.err.NE.rzero )
THEN
302 WRITE( nout, fmt = 9989 )transa, transb, same, err
308 DO 200 isnum = 1, nsubs
309 WRITE( nout, fmt = * )
310 IF( .NOT.ltest( isnum ) )
THEN
312 WRITE( nout, fmt = 9987 )snames( isnum )
314 srnamt = snames( isnum )
317 CALL
zchke( isnum, snames( isnum ), nout )
318 WRITE( nout, fmt = * )
324 go to( 140, 150, 150, 160, 160, 170, 170,
327 140 CALL
zchk1( snames( isnum ), eps, thresh, nout, ntra, trace,
328 $ rewi, fatal, nidim, idim, nalf, alf, nbet, bet,
329 $ nmax, ab, aa, as, ab( 1, nmax + 1 ), bb, bs, c,
333 150 CALL
zchk2( snames( isnum ), eps, thresh, nout, ntra, trace,
334 $ rewi, fatal, nidim, idim, nalf, alf, nbet, bet,
335 $ nmax, ab, aa, as, ab( 1, nmax + 1 ), bb, bs, c,
339 160 CALL
zchk3( snames( isnum ), eps, thresh, nout, ntra, trace,
340 $ rewi, fatal, nidim, idim, nalf, alf, nmax, ab,
341 $ aa, as, ab( 1, nmax + 1 ), bb, bs, ct, g, c )
344 170 CALL
zchk4( snames( isnum ), eps, thresh, nout, ntra, trace,
345 $ rewi, fatal, nidim, idim, nalf, alf, nbet, bet,
346 $ nmax, ab, aa, as, ab( 1, nmax + 1 ), bb, bs, c,
350 180 CALL
zchk5( snames( isnum ), eps, thresh, nout, ntra, trace,
351 $ rewi, fatal, nidim, idim, nalf, alf, nbet, bet,
352 $ nmax, ab, aa, as, bb, bs, c, cc, cs, ct, g, w )
355 190
IF( fatal.AND.sfatal )
359 WRITE( nout, fmt = 9986 )
363 WRITE( nout, fmt = 9985 )
367 WRITE( nout, fmt = 9991 )
375 9999 format(
' ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LES',
377 9998 format(
' RELATIVE MACHINE PRECISION IS TAKEN TO BE', 1p, d9.1 )
378 9997 format(
' NUMBER OF VALUES OF ', a,
' IS LESS THAN 1 OR GREATER ',
380 9996 format(
' VALUE OF N IS LESS THAN 0 OR GREATER THAN ', i2 )
381 9995 format(
' TESTS OF THE COMPLEX*16 LEVEL 3 BLAS', //
' THE F',
382 $
'OLLOWING PARAMETER VALUES WILL BE USED:' )
383 9994 format(
' FOR N ', 9i6 )
384 9993 format(
' FOR ALPHA ',
385 $ 7(
'(', f4.1,
',', f4.1,
') ', : ) )
386 9992 format(
' FOR BETA ',
387 $ 7(
'(', f4.1,
',', f4.1,
') ', : ) )
388 9991 format(
' AMEND DATA FILE OR INCREASE ARRAY SIZES IN PROGRAM',
389 $ /
' ******* TESTS ABANDONED *******' )
390 9990 format(
' SUBPROGRAM NAME ', a6,
' NOT RECOGNIZED', /
' ******* T',
391 $
'ESTS ABANDONED *******' )
392 9989 format(
' ERROR IN ZMMCH - IN-LINE DOT PRODUCTS ARE BEING EVALU',
393 $
'ATED WRONGLY.', /
' ZMMCH WAS CALLED WITH TRANSA = ', a1,
394 $
' AND TRANSB = ', a1, /
' AND RETURNED SAME = ', l1,
' AND ',
395 $
'ERR = ', f12.3,
'.', /
' THIS MAY BE DUE TO FAULTS IN THE ',
396 $
'ARITHMETIC OR THE COMPILER.', /
' ******* TESTS ABANDONED ',
398 9988 format( a6, l2 )
399 9987 format( 1x, a6,
' WAS NOT TESTED' )
400 9986 format( /
' END OF TESTS' )
401 9985 format( /
' ******* FATAL ERROR - TESTS ABANDONED *******' )
402 9984 format(
' ERROR-EXITS WILL NOT BE TESTED' )
407 SUBROUTINE zchk1( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
408 $ fatal, nidim, idim, nalf, alf, nbet, bet, nmax,
409 $ a, aa, as, b, bb, bs, c, cc, cs, ct, g )
423 parameter( zero = ( 0.0d0, 0.0d0 ) )
424 DOUBLE PRECISION rzero
425 parameter( rzero = 0.0d0 )
427 DOUBLE PRECISION eps, thresh
428 INTEGER nalf, nbet, nidim, nmax, nout, ntra
429 LOGICAL fatal, rewi, trace
432 COMPLEX*16 a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
433 $ as( nmax*nmax ), b( nmax, nmax ),
434 $ bb( nmax*nmax ), bet( nbet ), bs( nmax*nmax ),
435 $ c( nmax, nmax ), cc( nmax*nmax ),
436 $ cs( nmax*nmax ), ct( nmax )
437 DOUBLE PRECISION g( nmax )
438 INTEGER idim( nidim )
440 COMPLEX*16 alpha, als, beta, bls
441 DOUBLE PRECISION err, errmax
442 INTEGER i, ia, ib, ica, icb, ik, im, in, k, ks, laa,
443 $ lbb, lcc, lda, ldas, ldb, ldbs, ldc, ldcs, m,
444 $ ma, mb, ms, n, na, nargs, nb, nc, ns
445 LOGICAL null, reset, same, trana, tranb
446 CHARACTER*1 tranas, tranbs, transa, transb
461 common /infoc/infot, noutc, ok, lerr
484 null = n.LE.0.OR.m.LE.0
490 transa = ich( ica: ica )
491 trana = transa.EQ.
'T'.OR.transa.EQ.
'C'
511 CALL
zmake(
'GE',
' ',
' ', ma, na, a, nmax, aa, lda,
515 transb = ich( icb: icb )
516 tranb = transb.EQ.
'T'.OR.transb.EQ.
'C'
536 CALL
zmake(
'GE',
' ',
' ', mb, nb, b, nmax, bb,
547 CALL
zmake(
'GE',
' ',
' ', m, n, c, nmax,
548 $ cc, ldc, reset, zero )
578 $
WRITE( ntra, fmt = 9995 )nc, sname,
579 $ transa, transb, m, n, k, alpha, lda, ldb,
583 CALL
zgemm( transa, transb, m, n, k, alpha,
584 $ aa, lda, bb, ldb, beta, cc, ldc )
589 WRITE( nout, fmt = 9994 )
596 isame( 1 ) = transa.EQ.tranas
597 isame( 2 ) = transb.EQ.tranbs
601 isame( 6 ) = als.EQ.alpha
602 isame( 7 ) =
lze( as, aa, laa )
603 isame( 8 ) = ldas.EQ.lda
604 isame( 9 ) =
lze( bs, bb, lbb )
605 isame( 10 ) = ldbs.EQ.ldb
606 isame( 11 ) = bls.EQ.beta
608 isame( 12 ) =
lze( cs, cc, lcc )
610 isame( 12 ) =
lzeres(
'GE',
' ', m, n, cs,
613 isame( 13 ) = ldcs.EQ.ldc
620 same = same.AND.isame( i )
621 IF( .NOT.isame( i ) )
622 $
WRITE( nout, fmt = 9998 )i
633 CALL
zmmch( transa, transb, m, n, k,
634 $ alpha, a, nmax, b, nmax, beta,
635 $ c, nmax, ct, g, cc, ldc, eps,
636 $ err, fatal, nout, .true. )
637 errmax = max( errmax, err )
660 IF( errmax.LT.thresh )
THEN
661 WRITE( nout, fmt = 9999 )sname, nc
663 WRITE( nout, fmt = 9997 )sname, nc, errmax
668 WRITE( nout, fmt = 9996 )sname
669 WRITE( nout, fmt = 9995 )nc, sname, transa, transb, m, n, k,
670 $ alpha, lda, ldb, beta, ldc
675 9999 format(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
677 9998 format(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
678 $
'ANGED INCORRECTLY *******' )
679 9997 format(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
680 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
681 $
' - SUSPECT *******' )
682 9996 format(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
683 9995 format( 1x, i6,
': ', a6,
'(''', a1,
''',''', a1,
''',',
684 $ 3( i3,
',' ),
'(', f4.1,
',', f4.1,
'), A,', i3,
', B,', i3,
685 $
',(', f4.1,
',', f4.1,
'), C,', i3,
').' )
686 9994 format(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
692 SUBROUTINE zchk2( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
693 $ fatal, nidim, idim, nalf, alf, nbet, bet, nmax,
694 $ a, aa, as, b, bb, bs, c, cc, cs, ct, g )
708 parameter( zero = ( 0.0d0, 0.0d0 ) )
709 DOUBLE PRECISION rzero
710 parameter( rzero = 0.0d0 )
712 DOUBLE PRECISION eps, thresh
713 INTEGER nalf, nbet, nidim, nmax, nout, ntra
714 LOGICAL fatal, rewi, trace
717 COMPLEX*16 a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
718 $ as( nmax*nmax ), b( nmax, nmax ),
719 $ bb( nmax*nmax ), bet( nbet ), bs( nmax*nmax ),
720 $ c( nmax, nmax ), cc( nmax*nmax ),
721 $ cs( nmax*nmax ), ct( nmax )
722 DOUBLE PRECISION g( nmax )
723 INTEGER idim( nidim )
725 COMPLEX*16 alpha, als, beta, bls
726 DOUBLE PRECISION err, errmax
727 INTEGER i, ia, ib, ics, icu, im, in, laa, lbb, lcc,
728 $ lda, ldas, ldb, ldbs, ldc, ldcs, m, ms, n, na,
730 LOGICAL conj, left, null, reset, same
731 CHARACTER*1 side, sides, uplo, uplos
732 CHARACTER*2 ichs, ichu
746 common /infoc/infot, noutc, ok, lerr
748 DATA ichs/
'LR'/, ichu/
'UL'/
750 conj = sname( 2: 3 ).EQ.
'HE'
770 null = n.LE.0.OR.m.LE.0
782 CALL
zmake(
'GE',
' ',
' ', m, n, b, nmax, bb, ldb, reset,
786 side = ichs( ics: ics )
804 uplo = ichu( icu: icu )
808 CALL
zmake( sname( 2: 3 ), uplo,
' ', na, na, a, nmax,
809 $ aa, lda, reset, zero )
819 CALL
zmake(
'GE',
' ',
' ', m, n, c, nmax, cc,
849 $
WRITE( ntra, fmt = 9995 )nc, sname, side,
850 $ uplo, m, n, alpha, lda, ldb, beta, ldc
854 CALL
zhemm( side, uplo, m, n, alpha, aa, lda,
855 $ bb, ldb, beta, cc, ldc )
857 CALL
zsymm( side, uplo, m, n, alpha, aa, lda,
858 $ bb, ldb, beta, cc, ldc )
864 WRITE( nout, fmt = 9994 )
871 isame( 1 ) = sides.EQ.side
872 isame( 2 ) = uplos.EQ.uplo
875 isame( 5 ) = als.EQ.alpha
876 isame( 6 ) =
lze( as, aa, laa )
877 isame( 7 ) = ldas.EQ.lda
878 isame( 8 ) =
lze( bs, bb, lbb )
879 isame( 9 ) = ldbs.EQ.ldb
880 isame( 10 ) = bls.EQ.beta
882 isame( 11 ) =
lze( cs, cc, lcc )
884 isame( 11 ) =
lzeres(
'GE',
' ', m, n, cs,
887 isame( 12 ) = ldcs.EQ.ldc
894 same = same.AND.isame( i )
895 IF( .NOT.isame( i ) )
896 $
WRITE( nout, fmt = 9998 )i
908 CALL
zmmch(
'N',
'N', m, n, m, alpha, a,
909 $ nmax, b, nmax, beta, c, nmax,
910 $ ct, g, cc, ldc, eps, err,
911 $ fatal, nout, .true. )
913 CALL
zmmch(
'N',
'N', m, n, n, alpha, b,
914 $ nmax, a, nmax, beta, c, nmax,
915 $ ct, g, cc, ldc, eps, err,
916 $ fatal, nout, .true. )
918 errmax = max( errmax, err )
939 IF( errmax.LT.thresh )
THEN
940 WRITE( nout, fmt = 9999 )sname, nc
942 WRITE( nout, fmt = 9997 )sname, nc, errmax
947 WRITE( nout, fmt = 9996 )sname
948 WRITE( nout, fmt = 9995 )nc, sname, side, uplo, m, n, alpha, lda,
954 9999 format(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
956 9998 format(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
957 $
'ANGED INCORRECTLY *******' )
958 9997 format(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
959 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
960 $
' - SUSPECT *******' )
961 9996 format(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
962 9995 format( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
963 $
'(', f4.1,
',', f4.1,
'), A,', i3,
', B,', i3,
',(', f4.1,
964 $
',', f4.1,
'), C,', i3,
') .' )
965 9994 format(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
971 SUBROUTINE zchk3( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
972 $ fatal, nidim, idim, nalf, alf, nmax, a, aa, as,
973 $ b, bb, bs, ct, g, c )
987 parameter( zero = ( 0.0d0, 0.0d0 ),
988 $ one = ( 1.0d0, 0.0d0 ) )
989 DOUBLE PRECISION rzero
990 parameter( rzero = 0.0d0 )
992 DOUBLE PRECISION eps, thresh
993 INTEGER nalf, nidim, nmax, nout, ntra
994 LOGICAL fatal, rewi, trace
997 COMPLEX*16 a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
998 $ as( nmax*nmax ), b( nmax, nmax ),
999 $ bb( nmax*nmax ), bs( nmax*nmax ),
1000 $ c( nmax, nmax ), ct( nmax )
1001 DOUBLE PRECISION g( nmax )
1002 INTEGER idim( nidim )
1004 COMPLEX*16 alpha, als
1005 DOUBLE PRECISION err, errmax
1006 INTEGER i, ia, icd, ics, ict, icu, im, in, j, laa, lbb,
1007 $ lda, ldas, ldb, ldbs, m, ms, n, na, nargs, nc,
1009 LOGICAL left, null, reset, same
1010 CHARACTER*1 diag, diags, side, sides, tranas, transa, uplo,
1012 CHARACTER*2 ichd, ichs, ichu
1024 INTEGER infot, noutc
1027 common /infoc/infot, noutc, ok, lerr
1029 DATA ichu/
'UL'/, icht/
'NTC'/, ichd/
'UN'/, ichs/
'LR'/
1043 DO 140 im = 1, nidim
1046 DO 130 in = 1, nidim
1056 null = m.LE.0.OR.n.LE.0
1059 side = ichs( ics: ics )
1076 uplo = ichu( icu: icu )
1079 transa = icht( ict: ict )
1082 diag = ichd( icd: icd )
1089 CALL
zmake(
'TR', uplo, diag, na, na, a,
1090 $ nmax, aa, lda, reset, zero )
1094 CALL
zmake(
'GE',
' ',
' ', m, n, b, nmax,
1095 $ bb, ldb, reset, zero )
1120 IF( sname( 4: 5 ).EQ.
'MM' )
THEN
1122 $
WRITE( ntra, fmt = 9995 )nc, sname,
1123 $ side, uplo, transa, diag, m, n, alpha,
1127 CALL
ztrmm( side, uplo, transa, diag, m,
1128 $ n, alpha, aa, lda, bb, ldb )
1129 ELSE IF( sname( 4: 5 ).EQ.
'SM' )
THEN
1131 $
WRITE( ntra, fmt = 9995 )nc, sname,
1132 $ side, uplo, transa, diag, m, n, alpha,
1136 CALL
ztrsm( side, uplo, transa, diag, m,
1137 $ n, alpha, aa, lda, bb, ldb )
1143 WRITE( nout, fmt = 9994 )
1150 isame( 1 ) = sides.EQ.side
1151 isame( 2 ) = uplos.EQ.uplo
1152 isame( 3 ) = tranas.EQ.transa
1153 isame( 4 ) = diags.EQ.diag
1154 isame( 5 ) = ms.EQ.m
1155 isame( 6 ) = ns.EQ.n
1156 isame( 7 ) = als.EQ.alpha
1157 isame( 8 ) =
lze( as, aa, laa )
1158 isame( 9 ) = ldas.EQ.lda
1160 isame( 10 ) =
lze( bs, bb, lbb )
1162 isame( 10 ) =
lzeres(
'GE',
' ', m, n, bs,
1165 isame( 11 ) = ldbs.EQ.ldb
1172 same = same.AND.isame( i )
1173 IF( .NOT.isame( i ) )
1174 $
WRITE( nout, fmt = 9998 )i
1182 IF( sname( 4: 5 ).EQ.
'MM' )
THEN
1187 CALL
zmmch( transa,
'N', m, n, m,
1188 $ alpha, a, nmax, b, nmax,
1189 $ zero, c, nmax, ct, g,
1190 $ bb, ldb, eps, err,
1191 $ fatal, nout, .true. )
1193 CALL
zmmch(
'N', transa, m, n, n,
1194 $ alpha, b, nmax, a, nmax,
1195 $ zero, c, nmax, ct, g,
1196 $ bb, ldb, eps, err,
1197 $ fatal, nout, .true. )
1199 ELSE IF( sname( 4: 5 ).EQ.
'SM' )
THEN
1206 c( i, j ) = bb( i + ( j - 1 )*
1208 bb( i + ( j - 1 )*ldb ) = alpha*
1214 CALL
zmmch( transa,
'N', m, n, m,
1215 $ one, a, nmax, c, nmax,
1216 $ zero, b, nmax, ct, g,
1217 $ bb, ldb, eps, err,
1218 $ fatal, nout, .false. )
1220 CALL
zmmch(
'N', transa, m, n, n,
1221 $ one, c, nmax, a, nmax,
1222 $ zero, b, nmax, ct, g,
1223 $ bb, ldb, eps, err,
1224 $ fatal, nout, .false. )
1227 errmax = max( errmax, err )
1250 IF( errmax.LT.thresh )
THEN
1251 WRITE( nout, fmt = 9999 )sname, nc
1253 WRITE( nout, fmt = 9997 )sname, nc, errmax
1258 WRITE( nout, fmt = 9996 )sname
1259 WRITE( nout, fmt = 9995 )nc, sname, side, uplo, transa, diag, m,
1260 $ n, alpha, lda, ldb
1265 9999 format(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1267 9998 format(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1268 $
'ANGED INCORRECTLY *******' )
1269 9997 format(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1270 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1271 $
' - SUSPECT *******' )
1272 9996 format(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1273 9995 format( 1x, i6,
': ', a6,
'(', 4(
'''', a1,
''',' ), 2( i3,
',' ),
1274 $
'(', f4.1,
',', f4.1,
'), A,', i3,
', B,', i3,
') ',
1276 9994 format(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
1282 SUBROUTINE zchk4( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
1283 $ fatal, nidim, idim, nalf, alf, nbet, bet, nmax,
1284 $ a, aa, as, b, bb, bs, c, cc, cs, ct, g )
1298 parameter( zero = ( 0.0d0, 0.0d0 ) )
1299 DOUBLE PRECISION rone, rzero
1300 parameter( rone = 1.0d0, rzero = 0.0d0 )
1302 DOUBLE PRECISION eps, thresh
1303 INTEGER nalf, nbet, nidim, nmax, nout, ntra
1304 LOGICAL fatal, rewi, trace
1307 COMPLEX*16 a( nmax, nmax ), aa( nmax*nmax ), alf( nalf ),
1308 $ as( nmax*nmax ), b( nmax, nmax ),
1309 $ bb( nmax*nmax ), bet( nbet ), bs( nmax*nmax ),
1310 $ c( nmax, nmax ), cc( nmax*nmax ),
1311 $ cs( nmax*nmax ), ct( nmax )
1312 DOUBLE PRECISION g( nmax )
1313 INTEGER idim( nidim )
1315 COMPLEX*16 alpha, als, beta, bets
1316 DOUBLE PRECISION err, errmax, ralpha, rals, rbeta, rbets
1317 INTEGER i, ia, ib, ict, icu, ik, in, j, jc, jj, k, ks,
1318 $ laa, lcc, lda, ldas, ldc, ldcs, lj, ma, n, na,
1320 LOGICAL conj, null, reset, same, tran, upper
1321 CHARACTER*1 trans, transs, transt, uplo, uplos
1322 CHARACTER*2 icht, ichu
1331 INTRINSIC dcmplx, max, dble
1333 INTEGER infot, noutc
1336 common /infoc/infot, noutc, ok, lerr
1338 DATA icht/
'NC'/, ichu/
'UL'/
1340 conj = sname( 2: 3 ).EQ.
'HE'
1347 DO 100 in = 1, nidim
1362 trans = icht( ict: ict )
1364 IF( tran.AND..NOT.conj )
1384 CALL
zmake(
'GE',
' ',
' ', ma, na, a, nmax, aa, lda,
1388 uplo = ichu( icu: icu )
1394 ralpha = dble( alpha )
1395 alpha = dcmplx( ralpha, rzero )
1401 rbeta = dble( beta )
1402 beta = dcmplx( rbeta, rzero )
1406 $ null = null.OR.( ( k.LE.0.OR.ralpha.EQ.
1407 $ rzero ).AND.rbeta.EQ.rone )
1411 CALL
zmake( sname( 2: 3 ), uplo,
' ', n, n, c,
1412 $ nmax, cc, ldc, reset, zero )
1445 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo,
1446 $ trans, n, k, ralpha, lda, rbeta, ldc
1449 CALL
zherk( uplo, trans, n, k, ralpha, aa,
1450 $ lda, rbeta, cc, ldc )
1453 $
WRITE( ntra, fmt = 9993 )nc, sname, uplo,
1454 $ trans, n, k, alpha, lda, beta, ldc
1457 CALL
zsyrk( uplo, trans, n, k, alpha, aa,
1458 $ lda, beta, cc, ldc )
1464 WRITE( nout, fmt = 9992 )
1471 isame( 1 ) = uplos.EQ.uplo
1472 isame( 2 ) = transs.EQ.trans
1473 isame( 3 ) = ns.EQ.n
1474 isame( 4 ) = ks.EQ.k
1476 isame( 5 ) = rals.EQ.ralpha
1478 isame( 5 ) = als.EQ.alpha
1480 isame( 6 ) =
lze( as, aa, laa )
1481 isame( 7 ) = ldas.EQ.lda
1483 isame( 8 ) = rbets.EQ.rbeta
1485 isame( 8 ) = bets.EQ.beta
1488 isame( 9 ) =
lze( cs, cc, lcc )
1490 isame( 9 ) =
lzeres( sname( 2: 3 ), uplo, n,
1493 isame( 10 ) = ldcs.EQ.ldc
1500 same = same.AND.isame( i )
1501 IF( .NOT.isame( i ) )
1502 $
WRITE( nout, fmt = 9998 )i
1528 CALL
zmmch( transt,
'N', lj, 1, k,
1529 $ alpha, a( 1, jj ), nmax,
1530 $ a( 1, j ), nmax, beta,
1531 $ c( jj, j ), nmax, ct, g,
1532 $ cc( jc ), ldc, eps, err,
1533 $ fatal, nout, .true. )
1535 CALL
zmmch(
'N', transt, lj, 1, k,
1536 $ alpha, a( jj, 1 ), nmax,
1537 $ a( j, 1 ), nmax, beta,
1538 $ c( jj, j ), nmax, ct, g,
1539 $ cc( jc ), ldc, eps, err,
1540 $ fatal, nout, .true. )
1547 errmax = max( errmax, err )
1569 IF( errmax.LT.thresh )
THEN
1570 WRITE( nout, fmt = 9999 )sname, nc
1572 WRITE( nout, fmt = 9997 )sname, nc, errmax
1578 $
WRITE( nout, fmt = 9995 )j
1581 WRITE( nout, fmt = 9996 )sname
1583 WRITE( nout, fmt = 9994 )nc, sname, uplo, trans, n, k, ralpha,
1586 WRITE( nout, fmt = 9993 )nc, sname, uplo, trans, n, k, alpha,
1593 9999 format(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1595 9998 format(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1596 $
'ANGED INCORRECTLY *******' )
1597 9997 format(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1598 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1599 $
' - SUSPECT *******' )
1600 9996 format(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1601 9995 format(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1602 9994 format( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1603 $ f4.1,
', A,', i3,
',', f4.1,
', C,', i3,
') ',
1605 9993 format( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1606 $
'(', f4.1,
',', f4.1,
') , A,', i3,
',(', f4.1,
',', f4.1,
1607 $
'), C,', i3,
') .' )
1608 9992 format(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
1614 SUBROUTINE zchk5( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI,
1615 $ fatal, nidim, idim, nalf, alf, nbet, bet, nmax,
1616 $ ab, aa, as, bb, bs, c, cc, cs, ct, g, w )
1629 COMPLEX*16 zero, one
1630 parameter( zero = ( 0.0d0, 0.0d0 ),
1631 $ one = ( 1.0d0, 0.0d0 ) )
1632 DOUBLE PRECISION rone, rzero
1633 parameter( rone = 1.0d0, rzero = 0.0d0 )
1635 DOUBLE PRECISION eps, thresh
1636 INTEGER nalf, nbet, nidim, nmax, nout, ntra
1637 LOGICAL fatal, rewi, trace
1640 COMPLEX*16 aa( nmax*nmax ), ab( 2*nmax*nmax ),
1641 $ alf( nalf ), as( nmax*nmax ), bb( nmax*nmax ),
1642 $ bet( nbet ), bs( nmax*nmax ), c( nmax, nmax ),
1643 $ cc( nmax*nmax ), cs( nmax*nmax ), ct( nmax ),
1645 DOUBLE PRECISION g( nmax )
1646 INTEGER idim( nidim )
1648 COMPLEX*16 alpha, als, beta, bets
1649 DOUBLE PRECISION err, errmax, rbeta, rbets
1650 INTEGER i, ia, ib, ict, icu, ik, in, j, jc, jj, jjab,
1651 $ k, ks, laa, lbb, lcc, lda, ldas, ldb, ldbs,
1652 $ ldc, ldcs, lj, ma, n, na, nargs, nc, ns
1653 LOGICAL conj, null, reset, same, tran, upper
1654 CHARACTER*1 trans, transs, transt, uplo, uplos
1655 CHARACTER*2 icht, ichu
1664 INTRINSIC dcmplx, dconjg, max, dble
1666 INTEGER infot, noutc
1669 common /infoc/infot, noutc, ok, lerr
1671 DATA icht/
'NC'/, ichu/
'UL'/
1673 conj = sname( 2: 3 ).EQ.
'HE'
1680 DO 130 in = 1, nidim
1691 DO 120 ik = 1, nidim
1695 trans = icht( ict: ict )
1697 IF( tran.AND..NOT.conj )
1718 CALL
zmake(
'GE',
' ',
' ', ma, na, ab, 2*nmax, aa,
1719 $ lda, reset, zero )
1721 CALL
zmake(
'GE',
' ',
' ', ma, na, ab, nmax, aa, lda,
1730 CALL
zmake(
'GE',
' ',
' ', ma, na, ab( k + 1 ),
1731 $ 2*nmax, bb, ldb, reset, zero )
1733 CALL
zmake(
'GE',
' ',
' ', ma, na, ab( k*nmax + 1 ),
1734 $ nmax, bb, ldb, reset, zero )
1738 uplo = ichu( icu: icu )
1747 rbeta = dble( beta )
1748 beta = dcmplx( rbeta, rzero )
1752 $ null = null.OR.( ( k.LE.0.OR.alpha.EQ.
1753 $ zero ).AND.rbeta.EQ.rone )
1757 CALL
zmake( sname( 2: 3 ), uplo,
' ', n, n, c,
1758 $ nmax, cc, ldc, reset, zero )
1791 $
WRITE( ntra, fmt = 9994 )nc, sname, uplo,
1792 $ trans, n, k, alpha, lda, ldb, rbeta, ldc
1795 CALL
zher2k( uplo, trans, n, k, alpha, aa,
1796 $ lda, bb, ldb, rbeta, cc, ldc )
1799 $
WRITE( ntra, fmt = 9993 )nc, sname, uplo,
1800 $ trans, n, k, alpha, lda, ldb, beta, ldc
1803 CALL
zsyr2k( uplo, trans, n, k, alpha, aa,
1804 $ lda, bb, ldb, beta, cc, ldc )
1810 WRITE( nout, fmt = 9992 )
1817 isame( 1 ) = uplos.EQ.uplo
1818 isame( 2 ) = transs.EQ.trans
1819 isame( 3 ) = ns.EQ.n
1820 isame( 4 ) = ks.EQ.k
1821 isame( 5 ) = als.EQ.alpha
1822 isame( 6 ) =
lze( as, aa, laa )
1823 isame( 7 ) = ldas.EQ.lda
1824 isame( 8 ) =
lze( bs, bb, lbb )
1825 isame( 9 ) = ldbs.EQ.ldb
1827 isame( 10 ) = rbets.EQ.rbeta
1829 isame( 10 ) = bets.EQ.beta
1832 isame( 11 ) =
lze( cs, cc, lcc )
1834 isame( 11 ) =
lzeres(
'HE', uplo, n, n, cs,
1837 isame( 12 ) = ldcs.EQ.ldc
1844 same = same.AND.isame( i )
1845 IF( .NOT.isame( i ) )
1846 $
WRITE( nout, fmt = 9998 )i
1874 w( i ) = alpha*ab( ( j - 1 )*2*
1877 w( k + i ) = dconjg( alpha )*
1886 CALL
zmmch( transt,
'N', lj, 1, 2*k,
1887 $ one, ab( jjab ), 2*nmax, w,
1888 $ 2*nmax, beta, c( jj, j ),
1889 $ nmax, ct, g, cc( jc ), ldc,
1890 $ eps, err, fatal, nout,
1895 w( i ) = alpha*dconjg( ab( ( k +
1896 $ i - 1 )*nmax + j ) )
1897 w( k + i ) = dconjg( alpha*
1898 $ ab( ( i - 1 )*nmax +
1901 w( i ) = alpha*ab( ( k + i - 1 )*
1904 $ ab( ( i - 1 )*nmax +
1908 CALL
zmmch(
'N',
'N', lj, 1, 2*k, one,
1909 $ ab( jj ), nmax, w, 2*nmax,
1910 $ beta, c( jj, j ), nmax, ct,
1911 $ g, cc( jc ), ldc, eps, err,
1912 $ fatal, nout, .true. )
1919 $ jjab = jjab + 2*nmax
1921 errmax = max( errmax, err )
1943 IF( errmax.LT.thresh )
THEN
1944 WRITE( nout, fmt = 9999 )sname, nc
1946 WRITE( nout, fmt = 9997 )sname, nc, errmax
1952 $
WRITE( nout, fmt = 9995 )j
1955 WRITE( nout, fmt = 9996 )sname
1957 WRITE( nout, fmt = 9994 )nc, sname, uplo, trans, n, k, alpha,
1958 $ lda, ldb, rbeta, ldc
1960 WRITE( nout, fmt = 9993 )nc, sname, uplo, trans, n, k, alpha,
1961 $ lda, ldb, beta, ldc
1967 9999 format(
' ', a6,
' PASSED THE COMPUTATIONAL TESTS (', i6,
' CALL',
1969 9998 format(
' ******* FATAL ERROR - PARAMETER NUMBER ', i2,
' WAS CH',
1970 $
'ANGED INCORRECTLY *******' )
1971 9997 format(
' ', a6,
' COMPLETED THE COMPUTATIONAL TESTS (', i6,
' C',
1972 $
'ALLS)', /
' ******* BUT WITH MAXIMUM TEST RATIO', f8.2,
1973 $
' - SUSPECT *******' )
1974 9996 format(
' ******* ', a6,
' FAILED ON CALL NUMBER:' )
1975 9995 format(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
1976 9994 format( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1977 $
'(', f4.1,
',', f4.1,
'), A,', i3,
', B,', i3,
',', f4.1,
1978 $
', C,', i3,
') .' )
1979 9993 format( 1x, i6,
': ', a6,
'(', 2(
'''', a1,
''',' ), 2( i3,
',' ),
1980 $
'(', f4.1,
',', f4.1,
'), A,', i3,
', B,', i3,
',(', f4.1,
1981 $
',', f4.1,
'), C,', i3,
') .' )
1982 9992 format(
' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *',
2011 INTEGER infot, noutc
2015 parameter( one = 1.0d0, two = 2.0d0 )
2017 COMPLEX*16 alpha, beta
2018 DOUBLE PRECISION ralpha, rbeta
2020 COMPLEX*16 a( 2, 1 ), b( 2, 1 ), c( 2, 1 )
2027 common /infoc/infot, noutc, ok, lerr
2038 alpha = dcmplx( one, -one )
2039 beta = dcmplx( two, -two )
2043 go to( 10, 20, 30, 40, 50, 60, 70, 80,
2046 CALL
zgemm(
'/',
'N', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2047 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2049 CALL
zgemm(
'/',
'C', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2050 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2052 CALL
zgemm(
'/',
'T', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2053 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2055 CALL
zgemm(
'N',
'/', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2056 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2058 CALL
zgemm(
'C',
'/', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2059 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2061 CALL
zgemm(
'T',
'/', 0, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2062 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2064 CALL
zgemm(
'N',
'N', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2065 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2067 CALL
zgemm(
'N',
'C', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2068 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2070 CALL
zgemm(
'N',
'T', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2071 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2073 CALL
zgemm(
'C',
'N', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2074 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2076 CALL
zgemm(
'C',
'C', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2077 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2079 CALL
zgemm(
'C',
'T', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2080 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2082 CALL
zgemm(
'T',
'N', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2083 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2085 CALL
zgemm(
'T',
'C', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2086 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2088 CALL
zgemm(
'T',
'T', -1, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2089 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2091 CALL
zgemm(
'N',
'N', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2092 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2094 CALL
zgemm(
'N',
'C', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2095 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2097 CALL
zgemm(
'N',
'T', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2098 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2100 CALL
zgemm(
'C',
'N', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2101 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2103 CALL
zgemm(
'C',
'C', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2104 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2106 CALL
zgemm(
'C',
'T', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2107 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2109 CALL
zgemm(
'T',
'N', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2110 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2112 CALL
zgemm(
'T',
'C', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2113 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2115 CALL
zgemm(
'T',
'T', 0, -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2116 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2118 CALL
zgemm(
'N',
'N', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2119 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2121 CALL
zgemm(
'N',
'C', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2122 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2124 CALL
zgemm(
'N',
'T', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2125 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2127 CALL
zgemm(
'C',
'N', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2128 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2130 CALL
zgemm(
'C',
'C', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2131 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2133 CALL
zgemm(
'C',
'T', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2134 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2136 CALL
zgemm(
'T',
'N', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2137 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2139 CALL
zgemm(
'T',
'C', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2140 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2142 CALL
zgemm(
'T',
'T', 0, 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2143 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2145 CALL
zgemm(
'N',
'N', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 2 )
2146 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2148 CALL
zgemm(
'N',
'C', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 2 )
2149 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2151 CALL
zgemm(
'N',
'T', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 2 )
2152 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2154 CALL
zgemm(
'C',
'N', 0, 0, 2, alpha, a, 1, b, 2, beta, c, 1 )
2155 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2157 CALL
zgemm(
'C',
'C', 0, 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2158 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2160 CALL
zgemm(
'C',
'T', 0, 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2161 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2163 CALL
zgemm(
'T',
'N', 0, 0, 2, alpha, a, 1, b, 2, beta, c, 1 )
2164 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2166 CALL
zgemm(
'T',
'C', 0, 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2167 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2169 CALL
zgemm(
'T',
'T', 0, 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2170 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2172 CALL
zgemm(
'N',
'N', 0, 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2173 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2175 CALL
zgemm(
'C',
'N', 0, 0, 2, alpha, a, 2, b, 1, beta, c, 1 )
2176 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2178 CALL
zgemm(
'T',
'N', 0, 0, 2, alpha, a, 2, b, 1, beta, c, 1 )
2179 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2181 CALL
zgemm(
'N',
'C', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2182 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2184 CALL
zgemm(
'C',
'C', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2185 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2187 CALL
zgemm(
'T',
'C', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2188 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2190 CALL
zgemm(
'N',
'T', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2191 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2193 CALL
zgemm(
'C',
'T', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2194 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2196 CALL
zgemm(
'T',
'T', 0, 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2197 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2199 CALL
zgemm(
'N',
'N', 2, 0, 0, alpha, a, 2, b, 1, beta, c, 1 )
2200 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2202 CALL
zgemm(
'N',
'C', 2, 0, 0, alpha, a, 2, b, 1, beta, c, 1 )
2203 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2205 CALL
zgemm(
'N',
'T', 2, 0, 0, alpha, a, 2, b, 1, beta, c, 1 )
2206 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2208 CALL
zgemm(
'C',
'N', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2209 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2211 CALL
zgemm(
'C',
'C', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2212 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2214 CALL
zgemm(
'C',
'T', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2215 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2217 CALL
zgemm(
'T',
'N', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2218 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2220 CALL
zgemm(
'T',
'C', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2221 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2223 CALL
zgemm(
'T',
'T', 2, 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2224 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2227 CALL
zhemm(
'/',
'U', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2228 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2230 CALL
zhemm(
'L',
'/', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2231 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2233 CALL
zhemm(
'L',
'U', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2234 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2236 CALL
zhemm(
'R',
'U', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2237 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2239 CALL
zhemm(
'L',
'L', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2240 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2242 CALL
zhemm(
'R',
'L', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2243 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2245 CALL
zhemm(
'L',
'U', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2246 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2248 CALL
zhemm(
'R',
'U', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2249 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2251 CALL
zhemm(
'L',
'L', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2252 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2254 CALL
zhemm(
'R',
'L', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2255 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2257 CALL
zhemm(
'L',
'U', 2, 0, alpha, a, 1, b, 2, beta, c, 2 )
2258 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2260 CALL
zhemm(
'R',
'U', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2261 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2263 CALL
zhemm(
'L',
'L', 2, 0, alpha, a, 1, b, 2, beta, c, 2 )
2264 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2266 CALL
zhemm(
'R',
'L', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2267 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2269 CALL
zhemm(
'L',
'U', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2270 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2272 CALL
zhemm(
'R',
'U', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2273 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2275 CALL
zhemm(
'L',
'L', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2276 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2278 CALL
zhemm(
'R',
'L', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2279 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2281 CALL
zhemm(
'L',
'U', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2282 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2284 CALL
zhemm(
'R',
'U', 2, 0, alpha, a, 1, b, 2, beta, c, 1 )
2285 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2287 CALL
zhemm(
'L',
'L', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2288 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2290 CALL
zhemm(
'R',
'L', 2, 0, alpha, a, 1, b, 2, beta, c, 1 )
2291 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2294 CALL
zsymm(
'/',
'U', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2295 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2297 CALL
zsymm(
'L',
'/', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2298 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2300 CALL
zsymm(
'L',
'U', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2301 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2303 CALL
zsymm(
'R',
'U', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2304 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2306 CALL
zsymm(
'L',
'L', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2307 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2309 CALL
zsymm(
'R',
'L', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2310 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2312 CALL
zsymm(
'L',
'U', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2313 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2315 CALL
zsymm(
'R',
'U', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2316 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2318 CALL
zsymm(
'L',
'L', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2319 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2321 CALL
zsymm(
'R',
'L', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2322 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2324 CALL
zsymm(
'L',
'U', 2, 0, alpha, a, 1, b, 2, beta, c, 2 )
2325 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2327 CALL
zsymm(
'R',
'U', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2328 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2330 CALL
zsymm(
'L',
'L', 2, 0, alpha, a, 1, b, 2, beta, c, 2 )
2331 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2333 CALL
zsymm(
'R',
'L', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2334 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2336 CALL
zsymm(
'L',
'U', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2337 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2339 CALL
zsymm(
'R',
'U', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2340 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2342 CALL
zsymm(
'L',
'L', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2343 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2345 CALL
zsymm(
'R',
'L', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2346 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2348 CALL
zsymm(
'L',
'U', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2349 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2351 CALL
zsymm(
'R',
'U', 2, 0, alpha, a, 1, b, 2, beta, c, 1 )
2352 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2354 CALL
zsymm(
'L',
'L', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2355 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2357 CALL
zsymm(
'R',
'L', 2, 0, alpha, a, 1, b, 2, beta, c, 1 )
2358 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2361 CALL
ztrmm(
'/',
'U',
'N',
'N', 0, 0, alpha, a, 1, b, 1 )
2362 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2364 CALL
ztrmm(
'L',
'/',
'N',
'N', 0, 0, alpha, a, 1, b, 1 )
2365 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2367 CALL
ztrmm(
'L',
'U',
'/',
'N', 0, 0, alpha, a, 1, b, 1 )
2368 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2370 CALL
ztrmm(
'L',
'U',
'N',
'/', 0, 0, alpha, a, 1, b, 1 )
2371 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2373 CALL
ztrmm(
'L',
'U',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2374 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2376 CALL
ztrmm(
'L',
'U',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2377 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2379 CALL
ztrmm(
'L',
'U',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2380 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2382 CALL
ztrmm(
'R',
'U',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2383 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2385 CALL
ztrmm(
'R',
'U',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2386 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2388 CALL
ztrmm(
'R',
'U',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2389 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2391 CALL
ztrmm(
'L',
'L',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2392 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2394 CALL
ztrmm(
'L',
'L',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2395 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2397 CALL
ztrmm(
'L',
'L',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2398 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2400 CALL
ztrmm(
'R',
'L',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2401 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2403 CALL
ztrmm(
'R',
'L',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2404 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2406 CALL
ztrmm(
'R',
'L',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2407 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2409 CALL
ztrmm(
'L',
'U',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2410 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2412 CALL
ztrmm(
'L',
'U',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2413 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2415 CALL
ztrmm(
'L',
'U',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2416 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2418 CALL
ztrmm(
'R',
'U',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2419 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2421 CALL
ztrmm(
'R',
'U',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2422 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2424 CALL
ztrmm(
'R',
'U',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2425 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2427 CALL
ztrmm(
'L',
'L',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2428 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2430 CALL
ztrmm(
'L',
'L',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2431 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2433 CALL
ztrmm(
'L',
'L',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2434 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2436 CALL
ztrmm(
'R',
'L',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2437 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2439 CALL
ztrmm(
'R',
'L',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2440 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2442 CALL
ztrmm(
'R',
'L',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2443 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2445 CALL
ztrmm(
'L',
'U',
'N',
'N', 2, 0, alpha, a, 1, b, 2 )
2446 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2448 CALL
ztrmm(
'L',
'U',
'C',
'N', 2, 0, alpha, a, 1, b, 2 )
2449 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2451 CALL
ztrmm(
'L',
'U',
'T',
'N', 2, 0, alpha, a, 1, b, 2 )
2452 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2454 CALL
ztrmm(
'R',
'U',
'N',
'N', 0, 2, alpha, a, 1, b, 1 )
2455 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2457 CALL
ztrmm(
'R',
'U',
'C',
'N', 0, 2, alpha, a, 1, b, 1 )
2458 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2460 CALL
ztrmm(
'R',
'U',
'T',
'N', 0, 2, alpha, a, 1, b, 1 )
2461 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2463 CALL
ztrmm(
'L',
'L',
'N',
'N', 2, 0, alpha, a, 1, b, 2 )
2464 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2466 CALL
ztrmm(
'L',
'L',
'C',
'N', 2, 0, alpha, a, 1, b, 2 )
2467 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2469 CALL
ztrmm(
'L',
'L',
'T',
'N', 2, 0, alpha, a, 1, b, 2 )
2470 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2472 CALL
ztrmm(
'R',
'L',
'N',
'N', 0, 2, alpha, a, 1, b, 1 )
2473 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2475 CALL
ztrmm(
'R',
'L',
'C',
'N', 0, 2, alpha, a, 1, b, 1 )
2476 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2478 CALL
ztrmm(
'R',
'L',
'T',
'N', 0, 2, alpha, a, 1, b, 1 )
2479 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2481 CALL
ztrmm(
'L',
'U',
'N',
'N', 2, 0, alpha, a, 2, b, 1 )
2482 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2484 CALL
ztrmm(
'L',
'U',
'C',
'N', 2, 0, alpha, a, 2, b, 1 )
2485 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2487 CALL
ztrmm(
'L',
'U',
'T',
'N', 2, 0, alpha, a, 2, b, 1 )
2488 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2490 CALL
ztrmm(
'R',
'U',
'N',
'N', 2, 0, alpha, a, 1, b, 1 )
2491 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2493 CALL
ztrmm(
'R',
'U',
'C',
'N', 2, 0, alpha, a, 1, b, 1 )
2494 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2496 CALL
ztrmm(
'R',
'U',
'T',
'N', 2, 0, alpha, a, 1, b, 1 )
2497 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2499 CALL
ztrmm(
'L',
'L',
'N',
'N', 2, 0, alpha, a, 2, b, 1 )
2500 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2502 CALL
ztrmm(
'L',
'L',
'C',
'N', 2, 0, alpha, a, 2, b, 1 )
2503 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2505 CALL
ztrmm(
'L',
'L',
'T',
'N', 2, 0, alpha, a, 2, b, 1 )
2506 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2508 CALL
ztrmm(
'R',
'L',
'N',
'N', 2, 0, alpha, a, 1, b, 1 )
2509 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2511 CALL
ztrmm(
'R',
'L',
'C',
'N', 2, 0, alpha, a, 1, b, 1 )
2512 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2514 CALL
ztrmm(
'R',
'L',
'T',
'N', 2, 0, alpha, a, 1, b, 1 )
2515 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2518 CALL
ztrsm(
'/',
'U',
'N',
'N', 0, 0, alpha, a, 1, b, 1 )
2519 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2521 CALL
ztrsm(
'L',
'/',
'N',
'N', 0, 0, alpha, a, 1, b, 1 )
2522 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2524 CALL
ztrsm(
'L',
'U',
'/',
'N', 0, 0, alpha, a, 1, b, 1 )
2525 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2527 CALL
ztrsm(
'L',
'U',
'N',
'/', 0, 0, alpha, a, 1, b, 1 )
2528 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2530 CALL
ztrsm(
'L',
'U',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2531 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2533 CALL
ztrsm(
'L',
'U',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2534 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2536 CALL
ztrsm(
'L',
'U',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2537 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2539 CALL
ztrsm(
'R',
'U',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2540 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2542 CALL
ztrsm(
'R',
'U',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2543 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2545 CALL
ztrsm(
'R',
'U',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2546 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2548 CALL
ztrsm(
'L',
'L',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2549 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2551 CALL
ztrsm(
'L',
'L',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2552 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2554 CALL
ztrsm(
'L',
'L',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2555 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2557 CALL
ztrsm(
'R',
'L',
'N',
'N', -1, 0, alpha, a, 1, b, 1 )
2558 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2560 CALL
ztrsm(
'R',
'L',
'C',
'N', -1, 0, alpha, a, 1, b, 1 )
2561 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2563 CALL
ztrsm(
'R',
'L',
'T',
'N', -1, 0, alpha, a, 1, b, 1 )
2564 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2566 CALL
ztrsm(
'L',
'U',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2567 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2569 CALL
ztrsm(
'L',
'U',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2570 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2572 CALL
ztrsm(
'L',
'U',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2573 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2575 CALL
ztrsm(
'R',
'U',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2576 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2578 CALL
ztrsm(
'R',
'U',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2579 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2581 CALL
ztrsm(
'R',
'U',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2582 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2584 CALL
ztrsm(
'L',
'L',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2585 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2587 CALL
ztrsm(
'L',
'L',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2588 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2590 CALL
ztrsm(
'L',
'L',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2591 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2593 CALL
ztrsm(
'R',
'L',
'N',
'N', 0, -1, alpha, a, 1, b, 1 )
2594 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2596 CALL
ztrsm(
'R',
'L',
'C',
'N', 0, -1, alpha, a, 1, b, 1 )
2597 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2599 CALL
ztrsm(
'R',
'L',
'T',
'N', 0, -1, alpha, a, 1, b, 1 )
2600 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2602 CALL
ztrsm(
'L',
'U',
'N',
'N', 2, 0, alpha, a, 1, b, 2 )
2603 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2605 CALL
ztrsm(
'L',
'U',
'C',
'N', 2, 0, alpha, a, 1, b, 2 )
2606 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2608 CALL
ztrsm(
'L',
'U',
'T',
'N', 2, 0, alpha, a, 1, b, 2 )
2609 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2611 CALL
ztrsm(
'R',
'U',
'N',
'N', 0, 2, alpha, a, 1, b, 1 )
2612 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2614 CALL
ztrsm(
'R',
'U',
'C',
'N', 0, 2, alpha, a, 1, b, 1 )
2615 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2617 CALL
ztrsm(
'R',
'U',
'T',
'N', 0, 2, alpha, a, 1, b, 1 )
2618 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2620 CALL
ztrsm(
'L',
'L',
'N',
'N', 2, 0, alpha, a, 1, b, 2 )
2621 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2623 CALL
ztrsm(
'L',
'L',
'C',
'N', 2, 0, alpha, a, 1, b, 2 )
2624 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2626 CALL
ztrsm(
'L',
'L',
'T',
'N', 2, 0, alpha, a, 1, b, 2 )
2627 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2629 CALL
ztrsm(
'R',
'L',
'N',
'N', 0, 2, alpha, a, 1, b, 1 )
2630 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2632 CALL
ztrsm(
'R',
'L',
'C',
'N', 0, 2, alpha, a, 1, b, 1 )
2633 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2635 CALL
ztrsm(
'R',
'L',
'T',
'N', 0, 2, alpha, a, 1, b, 1 )
2636 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2638 CALL
ztrsm(
'L',
'U',
'N',
'N', 2, 0, alpha, a, 2, b, 1 )
2639 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2641 CALL
ztrsm(
'L',
'U',
'C',
'N', 2, 0, alpha, a, 2, b, 1 )
2642 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2644 CALL
ztrsm(
'L',
'U',
'T',
'N', 2, 0, alpha, a, 2, b, 1 )
2645 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2647 CALL
ztrsm(
'R',
'U',
'N',
'N', 2, 0, alpha, a, 1, b, 1 )
2648 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2650 CALL
ztrsm(
'R',
'U',
'C',
'N', 2, 0, alpha, a, 1, b, 1 )
2651 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2653 CALL
ztrsm(
'R',
'U',
'T',
'N', 2, 0, alpha, a, 1, b, 1 )
2654 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2656 CALL
ztrsm(
'L',
'L',
'N',
'N', 2, 0, alpha, a, 2, b, 1 )
2657 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2659 CALL
ztrsm(
'L',
'L',
'C',
'N', 2, 0, alpha, a, 2, b, 1 )
2660 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2662 CALL
ztrsm(
'L',
'L',
'T',
'N', 2, 0, alpha, a, 2, b, 1 )
2663 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2665 CALL
ztrsm(
'R',
'L',
'N',
'N', 2, 0, alpha, a, 1, b, 1 )
2666 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2668 CALL
ztrsm(
'R',
'L',
'C',
'N', 2, 0, alpha, a, 1, b, 1 )
2669 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2671 CALL
ztrsm(
'R',
'L',
'T',
'N', 2, 0, alpha, a, 1, b, 1 )
2672 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2675 CALL
zherk(
'/',
'N', 0, 0, ralpha, a, 1, rbeta, c, 1 )
2676 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2678 CALL
zherk(
'U',
'T', 0, 0, ralpha, a, 1, rbeta, c, 1 )
2679 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2681 CALL
zherk(
'U',
'N', -1, 0, ralpha, a, 1, rbeta, c, 1 )
2682 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2684 CALL
zherk(
'U',
'C', -1, 0, ralpha, a, 1, rbeta, c, 1 )
2685 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2687 CALL
zherk(
'L',
'N', -1, 0, ralpha, a, 1, rbeta, c, 1 )
2688 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2690 CALL
zherk(
'L',
'C', -1, 0, ralpha, a, 1, rbeta, c, 1 )
2691 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2693 CALL
zherk(
'U',
'N', 0, -1, ralpha, a, 1, rbeta, c, 1 )
2694 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2696 CALL
zherk(
'U',
'C', 0, -1, ralpha, a, 1, rbeta, c, 1 )
2697 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2699 CALL
zherk(
'L',
'N', 0, -1, ralpha, a, 1, rbeta, c, 1 )
2700 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2702 CALL
zherk(
'L',
'C', 0, -1, ralpha, a, 1, rbeta, c, 1 )
2703 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2705 CALL
zherk(
'U',
'N', 2, 0, ralpha, a, 1, rbeta, c, 2 )
2706 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2708 CALL
zherk(
'U',
'C', 0, 2, ralpha, a, 1, rbeta, c, 1 )
2709 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2711 CALL
zherk(
'L',
'N', 2, 0, ralpha, a, 1, rbeta, c, 2 )
2712 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2714 CALL
zherk(
'L',
'C', 0, 2, ralpha, a, 1, rbeta, c, 1 )
2715 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2717 CALL
zherk(
'U',
'N', 2, 0, ralpha, a, 2, rbeta, c, 1 )
2718 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2720 CALL
zherk(
'U',
'C', 2, 0, ralpha, a, 1, rbeta, c, 1 )
2721 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2723 CALL
zherk(
'L',
'N', 2, 0, ralpha, a, 2, rbeta, c, 1 )
2724 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2726 CALL
zherk(
'L',
'C', 2, 0, ralpha, a, 1, rbeta, c, 1 )
2727 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2730 CALL
zsyrk(
'/',
'N', 0, 0, alpha, a, 1, beta, c, 1 )
2731 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2733 CALL
zsyrk(
'U',
'C', 0, 0, alpha, a, 1, beta, c, 1 )
2734 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2736 CALL
zsyrk(
'U',
'N', -1, 0, alpha, a, 1, beta, c, 1 )
2737 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2739 CALL
zsyrk(
'U',
'T', -1, 0, alpha, a, 1, beta, c, 1 )
2740 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2742 CALL
zsyrk(
'L',
'N', -1, 0, alpha, a, 1, beta, c, 1 )
2743 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2745 CALL
zsyrk(
'L',
'T', -1, 0, alpha, a, 1, beta, c, 1 )
2746 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2748 CALL
zsyrk(
'U',
'N', 0, -1, alpha, a, 1, beta, c, 1 )
2749 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2751 CALL
zsyrk(
'U',
'T', 0, -1, alpha, a, 1, beta, c, 1 )
2752 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2754 CALL
zsyrk(
'L',
'N', 0, -1, alpha, a, 1, beta, c, 1 )
2755 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2757 CALL
zsyrk(
'L',
'T', 0, -1, alpha, a, 1, beta, c, 1 )
2758 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2760 CALL
zsyrk(
'U',
'N', 2, 0, alpha, a, 1, beta, c, 2 )
2761 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2763 CALL
zsyrk(
'U',
'T', 0, 2, alpha, a, 1, beta, c, 1 )
2764 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2766 CALL
zsyrk(
'L',
'N', 2, 0, alpha, a, 1, beta, c, 2 )
2767 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2769 CALL
zsyrk(
'L',
'T', 0, 2, alpha, a, 1, beta, c, 1 )
2770 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2772 CALL
zsyrk(
'U',
'N', 2, 0, alpha, a, 2, beta, c, 1 )
2773 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2775 CALL
zsyrk(
'U',
'T', 2, 0, alpha, a, 1, beta, c, 1 )
2776 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2778 CALL
zsyrk(
'L',
'N', 2, 0, alpha, a, 2, beta, c, 1 )
2779 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2781 CALL
zsyrk(
'L',
'T', 2, 0, alpha, a, 1, beta, c, 1 )
2782 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2785 CALL
zher2k(
'/',
'N', 0, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2786 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2788 CALL
zher2k(
'U',
'T', 0, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2789 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2791 CALL
zher2k(
'U',
'N', -1, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2792 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2794 CALL
zher2k(
'U',
'C', -1, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2795 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2797 CALL
zher2k(
'L',
'N', -1, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2798 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2800 CALL
zher2k(
'L',
'C', -1, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2801 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2803 CALL
zher2k(
'U',
'N', 0, -1, alpha, a, 1, b, 1, rbeta, c, 1 )
2804 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2806 CALL
zher2k(
'U',
'C', 0, -1, alpha, a, 1, b, 1, rbeta, c, 1 )
2807 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2809 CALL
zher2k(
'L',
'N', 0, -1, alpha, a, 1, b, 1, rbeta, c, 1 )
2810 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2812 CALL
zher2k(
'L',
'C', 0, -1, alpha, a, 1, b, 1, rbeta, c, 1 )
2813 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2815 CALL
zher2k(
'U',
'N', 2, 0, alpha, a, 1, b, 1, rbeta, c, 2 )
2816 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2818 CALL
zher2k(
'U',
'C', 0, 2, alpha, a, 1, b, 1, rbeta, c, 1 )
2819 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2821 CALL
zher2k(
'L',
'N', 2, 0, alpha, a, 1, b, 1, rbeta, c, 2 )
2822 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2824 CALL
zher2k(
'L',
'C', 0, 2, alpha, a, 1, b, 1, rbeta, c, 1 )
2825 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2827 CALL
zher2k(
'U',
'N', 2, 0, alpha, a, 2, b, 1, rbeta, c, 2 )
2828 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2830 CALL
zher2k(
'U',
'C', 0, 2, alpha, a, 2, b, 1, rbeta, c, 1 )
2831 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2833 CALL
zher2k(
'L',
'N', 2, 0, alpha, a, 2, b, 1, rbeta, c, 2 )
2834 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2836 CALL
zher2k(
'L',
'C', 0, 2, alpha, a, 2, b, 1, rbeta, c, 1 )
2837 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2839 CALL
zher2k(
'U',
'N', 2, 0, alpha, a, 2, b, 2, rbeta, c, 1 )
2840 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2842 CALL
zher2k(
'U',
'C', 2, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2843 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2845 CALL
zher2k(
'L',
'N', 2, 0, alpha, a, 2, b, 2, rbeta, c, 1 )
2846 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2848 CALL
zher2k(
'L',
'C', 2, 0, alpha, a, 1, b, 1, rbeta, c, 1 )
2849 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2852 CALL
zsyr2k(
'/',
'N', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2853 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2855 CALL
zsyr2k(
'U',
'C', 0, 0, alpha, a, 1, b, 1, beta, c, 1 )
2856 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2858 CALL
zsyr2k(
'U',
'N', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2859 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2861 CALL
zsyr2k(
'U',
'T', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2862 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2864 CALL
zsyr2k(
'L',
'N', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2865 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2867 CALL
zsyr2k(
'L',
'T', -1, 0, alpha, a, 1, b, 1, beta, c, 1 )
2868 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2870 CALL
zsyr2k(
'U',
'N', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2871 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2873 CALL
zsyr2k(
'U',
'T', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2874 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2876 CALL
zsyr2k(
'L',
'N', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2877 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2879 CALL
zsyr2k(
'L',
'T', 0, -1, alpha, a, 1, b, 1, beta, c, 1 )
2880 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2882 CALL
zsyr2k(
'U',
'N', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2883 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2885 CALL
zsyr2k(
'U',
'T', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2886 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2888 CALL
zsyr2k(
'L',
'N', 2, 0, alpha, a, 1, b, 1, beta, c, 2 )
2889 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2891 CALL
zsyr2k(
'L',
'T', 0, 2, alpha, a, 1, b, 1, beta, c, 1 )
2892 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2894 CALL
zsyr2k(
'U',
'N', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2895 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2897 CALL
zsyr2k(
'U',
'T', 0, 2, alpha, a, 2, b, 1, beta, c, 1 )
2898 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2900 CALL
zsyr2k(
'L',
'N', 2, 0, alpha, a, 2, b, 1, beta, c, 2 )
2901 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2903 CALL
zsyr2k(
'L',
'T', 0, 2, alpha, a, 2, b, 1, beta, c, 1 )
2904 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2906 CALL
zsyr2k(
'U',
'N', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2907 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2909 CALL
zsyr2k(
'U',
'T', 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2910 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2912 CALL
zsyr2k(
'L',
'N', 2, 0, alpha, a, 2, b, 2, beta, c, 1 )
2913 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2915 CALL
zsyr2k(
'L',
'T', 2, 0, alpha, a, 1, b, 1, beta, c, 1 )
2916 CALL
chkxer( srnamt, infot, nout, lerr, ok )
2919 WRITE( nout, fmt = 9999 )srnamt
2921 WRITE( nout, fmt = 9998 )srnamt
2925 9999 format(
' ', a6,
' PASSED THE TESTS OF ERROR-EXITS' )
2926 9998 format(
' ******* ', a6,
' FAILED THE TESTS OF ERROR-EXITS *****',
2932 SUBROUTINE zmake( TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, RESET,
2950 COMPLEX*16 zero, one
2951 parameter( zero = ( 0.0d0, 0.0d0 ),
2952 $ one = ( 1.0d0, 0.0d0 ) )
2954 parameter( rogue = ( -1.0d10, 1.0d10 ) )
2955 DOUBLE PRECISION rzero
2956 parameter( rzero = 0.0d0 )
2957 DOUBLE PRECISION rrogue
2958 parameter( rrogue = -1.0d10 )
2961 INTEGER lda, m, n, nmax
2963 CHARACTER*1 diag, uplo
2966 COMPLEX*16 a( nmax, * ), aa( * )
2968 INTEGER i, ibeg, iend, j, jj
2969 LOGICAL gen, her, lower, sym, tri, unit, upper
2974 INTRINSIC dcmplx, dconjg, dble
2980 upper = ( her.OR.sym.OR.tri ).AND.uplo.EQ.
'U'
2981 lower = ( her.OR.sym.OR.tri ).AND.uplo.EQ.
'L'
2982 unit = tri.AND.diag.EQ.
'U'
2988 IF( gen.OR.( upper.AND.i.LE.j ).OR.( lower.AND.i.GE.j ) )
2990 a( i, j ) =
zbeg( reset ) + transl
2993 IF( n.GT.3.AND.j.EQ.n/2 )
2996 a( j, i ) = dconjg( a( i, j ) )
2998 a( j, i ) = a( i, j )
3006 $ a( j, j ) = dcmplx( dble( a( j, j ) ), rzero )
3008 $ a( j, j ) = a( j, j ) + one
3015 IF( type.EQ.
'GE' )
THEN
3018 aa( i + ( j - 1 )*lda ) = a( i, j )
3020 DO 40 i = m + 1, lda
3021 aa( i + ( j - 1 )*lda ) = rogue
3024 ELSE IF( type.EQ.
'HE'.OR.type.EQ.
'SY'.OR.type.EQ.
'TR' )
THEN
3041 DO 60 i = 1, ibeg - 1
3042 aa( i + ( j - 1 )*lda ) = rogue
3044 DO 70 i = ibeg, iend
3045 aa( i + ( j - 1 )*lda ) = a( i, j )
3047 DO 80 i = iend + 1, lda
3048 aa( i + ( j - 1 )*lda ) = rogue
3051 jj = j + ( j - 1 )*lda
3052 aa( jj ) = dcmplx( dble( aa( jj ) ), rrogue )
3061 SUBROUTINE zmmch( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
3062 $ beta, c, ldc, ct, g, cc, ldcc, eps, err, fatal,
3077 parameter( zero = ( 0.0d0, 0.0d0 ) )
3078 DOUBLE PRECISION rzero, rone
3079 parameter( rzero = 0.0d0, rone = 1.0d0 )
3081 COMPLEX*16 alpha, beta
3082 DOUBLE PRECISION eps, err
3083 INTEGER kk, lda, ldb, ldc, ldcc, m, n, nout
3085 CHARACTER*1 transa, transb
3087 COMPLEX*16 a( lda, * ), b( ldb, * ), c( ldc, * ),
3088 $ cc( ldcc, * ), ct( * )
3089 DOUBLE PRECISION g( * )
3092 DOUBLE PRECISION erri
3094 LOGICAL ctrana, ctranb, trana, tranb
3096 INTRINSIC abs, dimag, dconjg, max, dble, sqrt
3098 DOUBLE PRECISION abs1
3100 abs1( cl ) = abs( dble( cl ) ) + abs( dimag( cl ) )
3102 trana = transa.EQ.
'T'.OR.transa.EQ.
'C'
3103 tranb = transb.EQ.
'T'.OR.transb.EQ.
'C'
3104 ctrana = transa.EQ.
'C'
3105 ctranb = transb.EQ.
'C'
3117 IF( .NOT.trana.AND..NOT.tranb )
THEN
3120 ct( i ) = ct( i ) + a( i, k )*b( k, j )
3121 g( i ) = g( i ) + abs1( a( i, k ) )*abs1( b( k, j ) )
3124 ELSE IF( trana.AND..NOT.tranb )
THEN
3128 ct( i ) = ct( i ) + dconjg( a( k, i ) )*b( k, j )
3129 g( i ) = g( i ) + abs1( a( k, i ) )*
3136 ct( i ) = ct( i ) + a( k, i )*b( k, j )
3137 g( i ) = g( i ) + abs1( a( k, i ) )*
3142 ELSE IF( .NOT.trana.AND.tranb )
THEN
3146 ct( i ) = ct( i ) + a( i, k )*dconjg( b( j, k ) )
3147 g( i ) = g( i ) + abs1( a( i, k ) )*
3154 ct( i ) = ct( i ) + a( i, k )*b( j, k )
3155 g( i ) = g( i ) + abs1( a( i, k ) )*
3160 ELSE IF( trana.AND.tranb )
THEN
3165 ct( i ) = ct( i ) + dconjg( a( k, i ) )*
3166 $ dconjg( b( j, k ) )
3167 g( i ) = g( i ) + abs1( a( k, i ) )*
3174 ct( i ) = ct( i ) + dconjg( a( k, i ) )*
3176 g( i ) = g( i ) + abs1( a( k, i ) )*
3185 ct( i ) = ct( i ) + a( k, i )*
3186 $ dconjg( b( j, k ) )
3187 g( i ) = g( i ) + abs1( a( k, i ) )*
3194 ct( i ) = ct( i ) + a( k, i )*b( j, k )
3195 g( i ) = g( i ) + abs1( a( k, i ) )*
3203 ct( i ) = alpha*ct( i ) + beta*c( i, j )
3204 g( i ) = abs1( alpha )*g( i ) +
3205 $ abs1( beta )*abs1( c( i, j ) )
3212 erri = abs1( ct( i ) - cc( i, j ) )/eps
3213 IF( g( i ).NE.rzero )
3214 $ erri = erri/g( i )
3215 err = max( err, erri )
3216 IF( err*sqrt( eps ).GE.rone )
3228 WRITE( nout, fmt = 9999 )
3231 WRITE( nout, fmt = 9998 )i, ct( i ), cc( i, j )
3233 WRITE( nout, fmt = 9998 )i, cc( i, j ), ct( i )
3237 $
WRITE( nout, fmt = 9997 )j
3242 9999 format(
' ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HAL',
3243 $
'F ACCURATE *******', /
' EXPECTED RE',
3244 $
'SULT COMPUTED RESULT' )
3245 9998 format( 1x, i7, 2(
' (', g15.6,
',', g15.6,
')' ) )
3246 9997 format(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )
3251 LOGICAL FUNCTION lze( RI, RJ, LR )
3266 COMPLEX*16 ri( * ), rj( * )
3271 IF( ri( i ).NE.rj( i ) )
3283 LOGICAL FUNCTION lzeres( TYPE, UPLO, M, N, AA, AS, LDA )
3302 COMPLEX*16 aa( lda, * ), as( lda, * )
3304 INTEGER i, ibeg, iend, j
3308 IF( type.EQ.
'GE' )
THEN
3310 DO 10 i = m + 1, lda
3311 IF( aa( i, j ).NE.as( i, j ) )
3315 ELSE IF( type.EQ.
'HE'.OR.type.EQ.
'SY' )
THEN
3324 DO 30 i = 1, ibeg - 1
3325 IF( aa( i, j ).NE.as( i, j ) )
3328 DO 40 i = iend + 1, lda
3329 IF( aa( i, j ).NE.as( i, j ) )
3360 INTEGER i, ic, j, mi, mj
3362 SAVE i, ic, j, mi, mj
3386 i = i - 1000*( i/1000 )
3387 j = j - 1000*( j/1000 )
3392 zbeg = dcmplx( ( i - 500 )/1001.0d0, ( j - 500 )/1001.0d0 )
3409 DOUBLE PRECISION x, y
3417 SUBROUTINE chkxer( SRNAMT, INFOT, NOUT, LERR, OK )
3435 WRITE( nout, fmt = 9999 )infot, srnamt
3441 9999 format(
' ***** ILLEGAL VALUE OF PARAMETER NUMBER ', i2,
' NOT D',
3442 $
'ETECTED BY ', a6,
' *****' )
3474 common /infoc/infot, nout, ok, lerr
3475 common /srnamc/srnamt
3478 IF( info.NE.infot )
THEN
3479 IF( infot.NE.0 )
THEN
3480 WRITE( nout, fmt = 9999 )info, infot
3482 WRITE( nout, fmt = 9997 )info
3486 IF( srname.NE.srnamt )
THEN
3487 WRITE( nout, fmt = 9998 )srname, srnamt
3492 9999 format(
' ******* XERBLA WAS CALLED WITH INFO = ', i6,
' INSTEAD',
3493 $
' OF ', i2,
' *******' )
3494 9998 format(
' ******* XERBLA WAS CALLED WITH SRNAME = ', a6,
' INSTE',
3495 $
'AD OF ', a6,
' *******' )
3496 9997 format(
' ******* XERBLA WAS CALLED WITH INFO = ', i6,