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 REAL 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 REAL rwork( 150*nmax+2*maxrhs ), s( 2*nmax )
160 COMPLEX a( ( kdmax+1 )*nmax, 7 ), b( nmax*maxrhs, 4 ),
161 $ e( nmax ), work( nmax, nmax+maxrhs+10 )
187 INTEGER iparms( 100 )
190 COMMON / claenv / iparms
191 COMMON / infoc / infot, nunit, ok, lerr
192 COMMON / srnamc / srnamt
195 DATA threq / 2.0 / , intstr /
'0123456789' /
209 CALL ilaver( vers_major, vers_minor, vers_patch )
210 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
214 READ( nin, fmt = * )nm
216 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
219 ELSE IF( nm.GT.maxin )
THEN
220 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
224 READ( nin, fmt = * )( mval( i ), i = 1, nm )
226 IF( mval( i ).LT.0 )
THEN
227 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
229 ELSE IF( mval( i ).GT.nmax )
THEN
230 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
235 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
239 READ( nin, fmt = * )nn
241 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
244 ELSE IF( nn.GT.maxin )
THEN
245 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
249 READ( nin, fmt = * )( nval( i ), i = 1, nn )
251 IF( nval( i ).LT.0 )
THEN
252 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
254 ELSE IF( nval( i ).GT.nmax )
THEN
255 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
260 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
264 READ( nin, fmt = * )nns
266 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
269 ELSE IF( nns.GT.maxin )
THEN
270 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
274 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
276 IF( nsval( i ).LT.0 )
THEN
277 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
279 ELSE IF( nsval( i ).GT.maxrhs )
THEN
280 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
285 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
289 READ( nin, fmt = * )nnb
291 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
294 ELSE IF( nnb.GT.maxin )
THEN
295 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
299 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
301 IF( nbval( i ).LT.0 )
THEN
302 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
307 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
315 IF( nb.EQ.nbval2( j ) )
324 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
326 IF( nxval( i ).LT.0 )
THEN
327 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
332 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
336 READ( nin, fmt = * )nrank
338 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
341 ELSE IF( nn.GT.maxin )
THEN
342 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
346 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
348 IF( rankval( i ).LT.0 )
THEN
349 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
351 ELSE IF( rankval( i ).GT.100 )
THEN
352 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
357 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
358 $ ( rankval( i ), i = 1, nrank )
362 READ( nin, fmt = * )thresh
363 WRITE( nout, fmt = 9992 )thresh
367 READ( nin, fmt = * )tstchk
371 READ( nin, fmt = * )tstdrv
375 READ( nin, fmt = * )tsterr
378 WRITE( nout, fmt = 9999 )
384 eps =
slamch(
'Underflow threshold' )
385 WRITE( nout, fmt = 9991 )
'underflow', eps
386 eps =
slamch(
'Overflow threshold' )
387 WRITE( nout, fmt = 9991 )
'overflow ', eps
389 WRITE( nout, fmt = 9991 )
'precision', eps
390 WRITE( nout, fmt = * )
397 READ( nin, fmt =
'(A72)',
END = 140 )aline
405 IF( aline( i: i ).EQ.
' ' )
411 IF( c1.EQ.intstr( k: k ) )
THEN
418 nmats = nmats*10 + ic
429 IF( .NOT.
lsame( c1,
'Complex precision' ) )
THEN
430 WRITE( nout, fmt = 9990 )path
432 ELSE IF( nmats.LE.0 )
THEN
436 WRITE( nout, fmt = 9989 )path
438 ELSE IF(
lsamen( 2, c2,
'GE' ) )
THEN
443 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
446 CALL cchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
447 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
448 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
449 $ b( 1, 3 ), work, rwork, iwork, nout )
451 WRITE( nout, fmt = 9989 )path
455 CALL cdrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
456 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
457 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
458 $ rwork, iwork, nout )
460 WRITE( nout, fmt = 9988 )path
463 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
467 la = ( 2*kdmax+1 )*nmax
468 lafac = ( 3*kdmax+1 )*nmax
470 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
473 CALL cchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
474 $ nsval, thresh, tsterr, a( 1, 1 ), la,
475 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
476 $ b( 1, 3 ), work, rwork, iwork, nout )
478 WRITE( nout, fmt = 9989 )path
482 CALL cdrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
483 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
484 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
485 $ work, rwork, iwork, nout )
487 WRITE( nout, fmt = 9988 )path
490 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
495 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
498 CALL cchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
499 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
500 $ b( 1, 3 ), work, rwork, iwork, nout )
502 WRITE( nout, fmt = 9989 )path
506 CALL cdrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
507 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
508 $ b( 1, 3 ), work, rwork, iwork, nout )
510 WRITE( nout, fmt = 9988 )path
513 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
518 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
521 CALL cchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
522 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
523 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
524 $ work, rwork, nout )
526 WRITE( nout, fmt = 9989 )path
530 CALL cdrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
531 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
532 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
535 WRITE( nout, fmt = 9988 )path
538 ELSE IF(
lsamen( 2, c2,
'PS' ) )
THEN
544 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
547 CALL cchkps( dotype, nn, nval, nnb2, nbval2, nrank,
548 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
549 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
552 WRITE( nout, fmt = 9989 )path
555 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
560 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
563 CALL cchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
564 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
565 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
568 WRITE( nout, fmt = 9989 )path
572 CALL cdrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
573 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
574 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
577 WRITE( nout, fmt = 9988 )path
580 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
585 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
588 CALL cchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
589 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
590 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
591 $ work, rwork, nout )
593 WRITE( nout, fmt = 9989 )path
597 CALL cdrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
598 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
599 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
602 WRITE( nout, fmt = 9988 )path
605 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
610 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
613 CALL cchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
614 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
615 $ b( 1, 3 ), work, rwork, nout )
617 WRITE( nout, fmt = 9989 )path
621 CALL cdrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
622 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
623 $ b( 1, 3 ), work, rwork, nout )
625 WRITE( nout, fmt = 9988 )path
628 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
634 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
637 CALL cchkhe( 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 cdrvhe( 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 cchkhe_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 cdrvhe_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 cchkhe_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 cdrvhe_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 cchkhe_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 cdrvhe_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
762 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
768 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
771 CALL cchkhp( 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 cdrvhp( 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 cchksy( 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 cdrvsy( 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 cchksy_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 cdrvsy_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 cchksy_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 cdrvsy_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 cchksy_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 cdrvsy_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 cchksp( 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 cdrvsp( 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 cchktr( 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 cchktp( 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 cchktb( 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 cchkqr( 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 cchklq( 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 cchkql( 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 cchkrq( 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 cchkeq( 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 cchktz( 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 cchkq3( 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, nout )
1098 WRITE( nout, fmt = 9989 )path
1101 ELSE IF(
lsamen( 2, c2,
'LS' ) )
THEN
1106 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
1109 CALL cdrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
1110 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
1111 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
1112 $ s( 1 ), s( nmax+1 ), nout )
1114 WRITE( nout, fmt = 9989 )path
1117 ELSE IF(
lsamen( 2, c2,
'QT' ) )
THEN
1122 CALL cchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
1125 WRITE( nout, fmt = 9989 )path
1128 ELSE IF(
lsamen( 2, c2,
'QX' ) )
THEN
1133 CALL cchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
1136 WRITE( nout, fmt = 9989 )path
1139 ELSE IF(
lsamen( 2, c2,
'TQ' ) )
THEN
1144 CALL cchklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
1147 WRITE( nout, fmt = 9989 )path
1150 ELSE IF(
lsamen( 2, c2,
'XQ' ) )
THEN
1155 CALL cchklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
1158 WRITE( nout, fmt = 9989 )path
1161 ELSE IF(
lsamen( 2, c2,
'TS' ) )
THEN
1166 CALL cchktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
1169 WRITE( nout, fmt = 9989 )path
1172 ELSE IF(
lsamen( 2, c2,
'HH' ) )
THEN
1177 CALL cchkunhr_col( thresh, tsterr, nm, mval, nn, nval, nnb,
1180 WRITE( nout, fmt = 9989 ) path
1185 WRITE( nout, fmt = 9990 )path
1197 WRITE( nout, fmt = 9998 )
1198 WRITE( nout, fmt = 9997 )s2 - s1
1200 9999
FORMAT( /
' Execution not attempted due to input errors' )
1201 9998
FORMAT( /
' End of tests' )
1202 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
1203 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
1205 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
1207 9994
FORMAT(
' Tests of the COMPLEX LAPACK routines ',
1208 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
1209 $ / /
' The following parameter values will be used:' )
1210 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
1211 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1212 $
'less than', f8.2, / )
1213 9991
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
1214 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1215 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1216 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )