129 parameter( nmax = 132 )
131 parameter( maxin = 12 )
133 parameter( maxrhs = 16 )
135 parameter( matmax = 30 )
137 parameter( nin = 5, nout = 6 )
139 parameter( kdmax = nmax+( nmax+1 ) / 4 )
142 LOGICAL fatal, tstchk, tstdrv, tsterr
148 INTEGER i, ic, j, k, la, lafac, lda, nb, nm, nmats, nn,
149 $ nnb, nnb2, nns, nrhs, ntypes, nrank,
150 $ vers_major, vers_minor, vers_patch
151 DOUBLE PRECISION eps, s1, s2, threq, thresh
154 LOGICAL dotype( matmax )
155 INTEGER iwork( 25*nmax ), mval( maxin ),
156 $ nbval( maxin ), nbval2( maxin ),
157 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
158 $ rankval( maxin ), piv( nmax )
159 DOUBLE PRECISION rwork( 150*nmax+2*maxrhs ), s( 2*nmax )
160 COMPLEX*16 a( ( kdmax+1 )*nmax, 7 ), b( nmax*maxrhs, 4 ),
161 $ e( nmax ), work( nmax, nmax+maxrhs+10 )
188 INTEGER iparms( 100 )
191 COMMON / infoc / infot, nunit, ok, lerr
192 COMMON / srnamc / srnamt
193 COMMON / claenv / iparms
196 DATA threq / 2.0d0 / , intstr /
'0123456789' /
210 CALL ilaver( vers_major, vers_minor, vers_patch )
211 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
215 READ( nin, fmt = * )nm
217 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
220 ELSE IF( nm.GT.maxin )
THEN
221 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
225 READ( nin, fmt = * )( mval( i ), i = 1, nm )
227 IF( mval( i ).LT.0 )
THEN
228 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
230 ELSE IF( mval( i ).GT.nmax )
THEN
231 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
236 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
240 READ( nin, fmt = * )nn
242 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
245 ELSE IF( nn.GT.maxin )
THEN
246 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
250 READ( nin, fmt = * )( nval( i ), i = 1, nn )
252 IF( nval( i ).LT.0 )
THEN
253 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
255 ELSE IF( nval( i ).GT.nmax )
THEN
256 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
261 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
265 READ( nin, fmt = * )nns
267 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
270 ELSE IF( nns.GT.maxin )
THEN
271 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
275 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
277 IF( nsval( i ).LT.0 )
THEN
278 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
280 ELSE IF( nsval( i ).GT.maxrhs )
THEN
281 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
286 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
290 READ( nin, fmt = * )nnb
292 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
295 ELSE IF( nnb.GT.maxin )
THEN
296 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
300 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
302 IF( nbval( i ).LT.0 )
THEN
303 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
308 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
316 IF( nb.EQ.nbval2( j ) )
325 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
327 IF( nxval( i ).LT.0 )
THEN
328 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
333 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
337 READ( nin, fmt = * )nrank
339 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
342 ELSE IF( nn.GT.maxin )
THEN
343 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
347 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
349 IF( rankval( i ).LT.0 )
THEN
350 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
352 ELSE IF( rankval( i ).GT.100 )
THEN
353 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
358 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
359 $ ( rankval( i ), i = 1, nrank )
363 READ( nin, fmt = * )thresh
364 WRITE( nout, fmt = 9992 )thresh
368 READ( nin, fmt = * )tstchk
372 READ( nin, fmt = * )tstdrv
376 READ( nin, fmt = * )tsterr
379 WRITE( nout, fmt = 9999 )
385 eps =
dlamch(
'Underflow threshold' )
386 WRITE( nout, fmt = 9991 )
'underflow', eps
387 eps =
dlamch(
'Overflow threshold' )
388 WRITE( nout, fmt = 9991 )
'overflow ', eps
390 WRITE( nout, fmt = 9991 )
'precision', eps
391 WRITE( nout, fmt = * )
398 READ( nin, fmt =
'(A72)',
END = 140 )aline
406 IF( aline( i: i ).EQ.
' ' )
412 IF( c1.EQ.intstr( k: k ) )
THEN
419 nmats = nmats*10 + ic
430 IF( .NOT.
lsame( c1,
'Zomplex precision' ) )
THEN
431 WRITE( nout, fmt = 9990 )path
433 ELSE IF( nmats.LE.0 )
THEN
437 WRITE( nout, fmt = 9989 )path
439 ELSE IF(
lsamen( 2, c2,
'GE' ) )
THEN
444 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
447 CALL zchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
448 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
449 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
450 $ b( 1, 3 ), work, rwork, iwork, nout )
452 WRITE( nout, fmt = 9989 )path
456 CALL zdrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
457 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
458 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
459 $ rwork, iwork, nout )
461 WRITE( nout, fmt = 9988 )path
464 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
468 la = ( 2*kdmax+1 )*nmax
469 lafac = ( 3*kdmax+1 )*nmax
471 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
474 CALL zchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
475 $ nsval, thresh, tsterr, a( 1, 1 ), la,
476 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
477 $ b( 1, 3 ), work, rwork, iwork, nout )
479 WRITE( nout, fmt = 9989 )path
483 CALL zdrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
484 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
485 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
486 $ work, rwork, iwork, nout )
488 WRITE( nout, fmt = 9988 )path
491 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
496 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
499 CALL zchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
500 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
501 $ b( 1, 3 ), work, rwork, iwork, nout )
503 WRITE( nout, fmt = 9989 )path
507 CALL zdrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
508 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
509 $ b( 1, 3 ), work, rwork, iwork, nout )
511 WRITE( nout, fmt = 9988 )path
514 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
519 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
522 CALL zchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
523 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
524 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
525 $ work, rwork, nout )
527 WRITE( nout, fmt = 9989 )path
531 CALL zdrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
532 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
533 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
536 WRITE( nout, fmt = 9988 )path
539 ELSE IF(
lsamen( 2, c2,
'PS' ) )
THEN
545 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
548 CALL zchkps( dotype, nn, nval, nnb2, nbval2, nrank,
549 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
550 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
553 WRITE( nout, fmt = 9989 )path
556 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
561 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
564 CALL zchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
565 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
566 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
569 WRITE( nout, fmt = 9989 )path
573 CALL zdrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
574 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
575 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
578 WRITE( nout, fmt = 9988 )path
581 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
586 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
589 CALL zchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
590 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
591 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
592 $ work, rwork, nout )
594 WRITE( nout, fmt = 9989 )path
598 CALL zdrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
599 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
600 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
603 WRITE( nout, fmt = 9988 )path
606 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
611 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
614 CALL zchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
615 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
616 $ b( 1, 3 ), work, rwork, nout )
618 WRITE( nout, fmt = 9989 )path
622 CALL zdrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
623 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
624 $ b( 1, 3 ), work, rwork, nout )
626 WRITE( nout, fmt = 9988 )path
629 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
634 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
637 CALL zchkhe( dotype, nn, nval, nnb2, nbval2, nns, nsval,
638 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
639 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
640 $ work, rwork, iwork, nout )
642 WRITE( nout, fmt = 9989 )path
646 CALL zdrvhe( dotype, nn, nval, nrhs, thresh, tsterr, lda,
647 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
648 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
651 WRITE( nout, fmt = 9988 )path
654 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
660 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
663 CALL zchkhe_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
664 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
665 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
666 $ work, rwork, iwork, nout )
668 WRITE( nout, fmt = 9989 )path
672 CALL zdrvhe_rook( dotype, nn, nval, nrhs, thresh, tsterr,
673 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
674 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
675 $ rwork, iwork, nout )
677 WRITE( nout, fmt = 9988 )path
680 ELSE IF(
lsamen( 2, c2,
'HK' ) )
THEN
687 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
690 CALL zchkhe_rk ( dotype, nn, nval, nnb2, nbval2, nns, nsval,
691 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
692 $ e, a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
693 $ b( 1, 3 ), work, rwork, iwork, nout )
695 WRITE( nout, fmt = 9989 )path
699 CALL zdrvhe_rk( dotype, nn, nval, nrhs, thresh, tsterr,
700 $ lda, a( 1, 1 ), a( 1, 2 ), e, a( 1, 3 ),
701 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
702 $ rwork, iwork, nout )
704 WRITE( nout, fmt = 9988 )path
707 ELSE IF(
lsamen( 2, c2,
'HA' ) )
THEN
713 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
716 CALL zchkhe_aa( dotype, nn, nval, nnb2, nbval2, nns,
717 $ nsval, thresh, tsterr, lda,
718 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
719 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
720 $ work, rwork, iwork, nout )
722 WRITE( nout, fmt = 9989 )path
726 CALL zdrvhe_aa( dotype, nn, nval, nrhs, thresh, tsterr,
727 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
728 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
729 $ work, rwork, iwork, nout )
731 WRITE( nout, fmt = 9988 )path
734 ELSE IF(
lsamen( 2, c2,
'H2' ) )
THEN
740 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
744 $ nns, nsval, thresh, tsterr, lda,
745 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
746 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
747 $ work, rwork, iwork, nout )
749 WRITE( nout, fmt = 9989 )path
754 $ dotype, nn, nval, nrhs, thresh, tsterr,
755 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
756 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
757 $ work, rwork, iwork, nout )
759 WRITE( nout, fmt = 9988 )path
763 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
768 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
771 CALL zchkhp( dotype, nn, nval, nns, nsval, thresh, tsterr,
772 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
773 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
776 WRITE( nout, fmt = 9989 )path
780 CALL zdrvhp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
781 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
782 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
785 WRITE( nout, fmt = 9988 )path
788 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
794 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
797 CALL zchksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
798 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
799 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
800 $ work, rwork, iwork, nout )
802 WRITE( nout, fmt = 9989 )path
806 CALL zdrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
807 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
808 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
811 WRITE( nout, fmt = 9988 )path
814 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
820 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
823 CALL zchksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
824 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
825 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
826 $ work, rwork, iwork, nout )
828 WRITE( nout, fmt = 9989 )path
832 CALL zdrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
833 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
834 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
835 $ rwork, iwork, nout )
837 WRITE( nout, fmt = 9988 )path
840 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
847 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
850 CALL zchksy_rk( dotype, nn, nval, nnb2, nbval2, nns, nsval,
851 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
852 $ e, a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
853 $ b( 1, 3 ), work, rwork, iwork, nout )
855 WRITE( nout, fmt = 9989 )path
859 CALL zdrvsy_rk( dotype, nn, nval, nrhs, thresh, tsterr,
860 $ lda, a( 1, 1 ), a( 1, 2 ), e, a( 1, 3 ),
861 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
862 $ rwork, iwork, nout )
864 WRITE( nout, fmt = 9988 )path
867 ELSE IF(
lsamen( 2, c2,
'SA' ) )
THEN
872 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
875 CALL zchksy_aa( dotype, nn, nval, nnb2, nbval2, nns, nsval,
876 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
877 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
878 $ b( 1, 3 ), work, rwork, iwork, nout )
880 WRITE( nout, fmt = 9989 )path
884 CALL zdrvsy_aa( dotype, nn, nval, nrhs, thresh, tsterr,
885 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
886 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
887 $ rwork, iwork, nout )
889 WRITE( nout, fmt = 9988 )path
892 ELSE IF(
lsamen( 2, c2,
'S2' ) )
THEN
898 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
902 $ nsval, thresh, tsterr, lda,
903 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
904 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
905 $ work, rwork, iwork, nout )
907 WRITE( nout, fmt = 9989 )path
912 $ dotype, nn, nval, nrhs, thresh, tsterr,
913 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
914 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
915 $ rwork, iwork, nout )
917 WRITE( nout, fmt = 9988 )path
920 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
926 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
929 CALL zchksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
930 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
931 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
934 WRITE( nout, fmt = 9989 )path
938 CALL zdrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
939 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
940 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
943 WRITE( nout, fmt = 9988 )path
946 ELSE IF(
lsamen( 2, c2,
'TR' ) )
THEN
951 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
954 CALL zchktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
955 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
956 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
959 WRITE( nout, fmt = 9989 )path
962 ELSE IF(
lsamen( 2, c2,
'TP' ) )
THEN
967 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
970 CALL zchktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
971 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
972 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
974 WRITE( nout, fmt = 9989 )path
977 ELSE IF(
lsamen( 2, c2,
'TB' ) )
THEN
982 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
985 CALL zchktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
986 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
987 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
989 WRITE( nout, fmt = 9989 )path
992 ELSE IF(
lsamen( 2, c2,
'QR' ) )
THEN
997 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1000 CALL zchkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
1001 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
1002 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1003 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
1004 $ work, rwork, iwork, nout )
1006 WRITE( nout, fmt = 9989 )path
1009 ELSE IF(
lsamen( 2, c2,
'LQ' ) )
THEN
1014 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1017 CALL zchklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
1018 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
1019 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1020 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
1021 $ work, rwork, nout )
1023 WRITE( nout, fmt = 9989 )path
1026 ELSE IF(
lsamen( 2, c2,
'QL' ) )
THEN
1031 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1034 CALL zchkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
1035 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
1036 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1037 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
1038 $ work, rwork, nout )
1040 WRITE( nout, fmt = 9989 )path
1043 ELSE IF(
lsamen( 2, c2,
'RQ' ) )
THEN
1048 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1051 CALL zchkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
1052 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
1053 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1054 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
1055 $ work, rwork, iwork, nout )
1057 WRITE( nout, fmt = 9989 )path
1060 ELSE IF(
lsamen( 2, c2,
'EQ' ) )
THEN
1066 CALL zchkeq( threq, nout )
1068 WRITE( nout, fmt = 9989 )path
1071 ELSE IF(
lsamen( 2, c2,
'TZ' ) )
THEN
1076 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1079 CALL zchktz( dotype, nm, mval, nn, nval, thresh, tsterr,
1080 $ a( 1, 1 ), a( 1, 2 ), s( 1 ),
1081 $ b( 1, 1 ), work, rwork, nout )
1083 WRITE( nout, fmt = 9989 )path
1086 ELSE IF(
lsamen( 2, c2,
'QP' ) )
THEN
1091 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1094 CALL zchkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
1095 $ thresh, a( 1, 1 ), a( 1, 2 ), s( 1 ),
1096 $ b( 1, 1 ), work, rwork, iwork,
1099 WRITE( nout, fmt = 9989 )path
1102 ELSE IF(
lsamen( 2, c2,
'LS' ) )
THEN
1107 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1110 CALL zdrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
1111 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
1112 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1113 $ s( 1 ), s( nmax+1 ), nout )
1115 WRITE( nout, fmt = 9989 )path
1119 ELSE IF(
lsamen( 2, c2,
'QT' ) )
THEN
1124 CALL zchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
1127 WRITE( nout, fmt = 9989 )path
1130 ELSE IF(
lsamen( 2, c2,
'QX' ) )
THEN
1135 CALL zchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
1138 WRITE( nout, fmt = 9989 )path
1141 ELSE IF(
lsamen( 2, c2,
'TQ' ) )
THEN
1146 CALL zchklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
1149 WRITE( nout, fmt = 9989 )path
1152 ELSE IF(
lsamen( 2, c2,
'XQ' ) )
THEN
1157 CALL zchklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
1160 WRITE( nout, fmt = 9989 )path
1163 ELSE IF(
lsamen( 2, c2,
'TS' ) )
THEN
1168 CALL zchktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
1171 WRITE( nout, fmt = 9989 )path
1174 ELSE IF(
lsamen( 2, c2,
'TQ' ) )
THEN
1179 CALL zchklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
1182 WRITE( nout, fmt = 9989 )path
1185 ELSE IF(
lsamen( 2, c2,
'XQ' ) )
THEN
1190 CALL zchklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
1193 WRITE( nout, fmt = 9989 )path
1196 ELSE IF(
lsamen( 2, c2,
'TS' ) )
THEN
1201 CALL zchktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
1204 WRITE( nout, fmt = 9989 )path
1207 ELSE IF(
lsamen( 2, c2,
'HH' ) )
THEN
1212 CALL zchkunhr_col( thresh, tsterr, nm, mval, nn, nval, nnb,
1215 WRITE( nout, fmt = 9989 ) path
1220 WRITE( nout, fmt = 9990 )path
1232 WRITE( nout, fmt = 9998 )
1233 WRITE( nout, fmt = 9997 )s2 - s1
1235 9999
FORMAT( /
' Execution not attempted due to input errors' )
1236 9998
FORMAT( /
' End of tests' )
1237 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
1238 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
1240 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
1242 9994
FORMAT(
' Tests of the COMPLEX*16 LAPACK routines ',
1243 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
1244 $ / /
' The following parameter values will be used:' )
1245 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
1246 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1247 $
'less than', f8.2, / )
1248 9991
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
1249 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1250 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1251 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )