121 parameter( nmax = 132 )
123 parameter( maxin = 12 )
125 parameter( maxrhs = 16 )
127 parameter( matmax = 30 )
129 parameter( nin = 5, nout = 6 )
131 parameter( kdmax = nmax+( nmax+1 ) / 4 )
134 LOGICAL fatal, tstchk, tstdrv, tsterr
140 INTEGER i, ic,
j, k, la, lafac, lda, nb, nm, nmats, nn,
141 $ nnb, nnb2, nns, nrhs, ntypes, nrank,
142 $ vers_major, vers_minor, vers_patch
143 REAL eps, s1, s2, threq, thresh
146 LOGICAL dotype( matmax )
147 INTEGER iwork( 25*nmax ), mval( maxin ),
148 $ nbval( maxin ), nbval2( maxin ),
149 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
150 $ rankval( maxin ), piv( nmax )
151 REAL rwork( 150*nmax+2*maxrhs ), s( 2*nmax )
152 COMPLEX a( ( kdmax+1 )*nmax, 7 ),
b( nmax*maxrhs, 4 ),
153 $ work( nmax, nmax+maxrhs+10 )
177 INTEGER iparms( 100 )
180 COMMON / claenv / iparms
181 COMMON / infoc / infot, nunit, ok, lerr
182 COMMON / srnamc / srnamt
185 DATA threq / 2.0 / , intstr /
'0123456789' /
199 CALL
ilaver( vers_major, vers_minor, vers_patch )
200 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
204 READ( nin, fmt = * )nm
206 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
209 ELSE IF( nm.GT.maxin )
THEN
210 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
214 READ( nin, fmt = * )( mval( i ), i = 1, nm )
216 IF( mval( i ).LT.0 )
THEN
217 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
219 ELSE IF( mval( i ).GT.nmax )
THEN
220 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
225 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
229 READ( nin, fmt = * )nn
231 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
234 ELSE IF( nn.GT.maxin )
THEN
235 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
239 READ( nin, fmt = * )( nval( i ), i = 1, nn )
241 IF( nval( i ).LT.0 )
THEN
242 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
244 ELSE IF( nval( i ).GT.nmax )
THEN
245 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
250 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
254 READ( nin, fmt = * )nns
256 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
259 ELSE IF( nns.GT.maxin )
THEN
260 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
264 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
266 IF( nsval( i ).LT.0 )
THEN
267 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
269 ELSE IF( nsval( i ).GT.maxrhs )
THEN
270 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
275 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
279 READ( nin, fmt = * )nnb
281 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
284 ELSE IF( nnb.GT.maxin )
THEN
285 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
289 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
291 IF( nbval( i ).LT.0 )
THEN
292 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
297 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
305 IF( nb.EQ.nbval2(
j ) )
314 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
316 IF( nxval( i ).LT.0 )
THEN
317 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
322 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
326 READ( nin, fmt = * )nrank
328 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
331 ELSE IF( nn.GT.maxin )
THEN
332 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
336 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
338 IF( rankval( i ).LT.0 )
THEN
339 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
341 ELSE IF( rankval( i ).GT.100 )
THEN
342 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
347 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
348 $ ( rankval( i ), i = 1, nrank )
352 READ( nin, fmt = * )thresh
353 WRITE( nout, fmt = 9992 )thresh
357 READ( nin, fmt = * )tstchk
361 READ( nin, fmt = * )tstdrv
365 READ( nin, fmt = * )tsterr
368 WRITE( nout, fmt = 9999 )
374 eps =
slamch(
'Underflow threshold' )
375 WRITE( nout, fmt = 9991 )
'underflow', eps
376 eps =
slamch(
'Overflow threshold' )
377 WRITE( nout, fmt = 9991 )
'overflow ', eps
379 WRITE( nout, fmt = 9991 )
'precision', eps
380 WRITE( nout, fmt = * )
387 READ( nin, fmt =
'(A72)',
END = 140 )aline
395 IF( aline( i: i ).EQ.
' ' )
401 IF( c1.EQ.intstr( k: k ) )
THEN
408 nmats = nmats*10 + ic
419 IF( .NOT.
lsame( c1,
'Complex precision' ) )
THEN
420 WRITE( nout, fmt = 9990 )path
422 ELSE IF( nmats.LE.0 )
THEN
426 WRITE( nout, fmt = 9989 )path
428 ELSE IF(
lsamen( 2, c2,
'GE' ) )
THEN
433 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
436 CALL
cchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
437 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
438 $ a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
439 $
b( 1, 3 ), work, rwork, iwork, nout )
441 WRITE( nout, fmt = 9989 )path
445 CALL
cdrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
446 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
447 $
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ), s, work,
448 $ rwork, iwork, nout )
450 WRITE( nout, fmt = 9988 )path
453 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
457 la = ( 2*kdmax+1 )*nmax
458 lafac = ( 3*kdmax+1 )*nmax
460 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
463 CALL
cchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
464 $ nsval, thresh, tsterr, a( 1, 1 ), la,
465 $ a( 1, 3 ), lafac,
b( 1, 1 ),
b( 1, 2 ),
466 $
b( 1, 3 ), work, rwork, iwork, nout )
468 WRITE( nout, fmt = 9989 )path
472 CALL
cdrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
473 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
474 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ), s,
475 $ work, rwork, iwork, nout )
477 WRITE( nout, fmt = 9988 )path
480 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
485 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
488 CALL
cchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
489 $ a( 1, 1 ), a( 1, 2 ),
b( 1, 1 ),
b( 1, 2 ),
490 $
b( 1, 3 ), work, rwork, iwork, nout )
492 WRITE( nout, fmt = 9989 )path
496 CALL
cdrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
497 $ a( 1, 1 ), a( 1, 2 ),
b( 1, 1 ),
b( 1, 2 ),
498 $
b( 1, 3 ), work, rwork, iwork, nout )
500 WRITE( nout, fmt = 9988 )path
503 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
508 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
511 CALL
cchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
512 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
513 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
514 $ work, rwork, nout )
516 WRITE( nout, fmt = 9989 )path
520 CALL
cdrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
521 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
522 $
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ), s, work,
525 WRITE( nout, fmt = 9988 )path
528 ELSE IF(
lsamen( 2, c2,
'PS' ) )
THEN
534 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
537 CALL
cchkps( dotype, nn, nval, nnb2, nbval2, nrank,
538 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
539 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
542 WRITE( nout, fmt = 9989 )path
545 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
550 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
553 CALL
cchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
554 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
555 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work, rwork,
558 WRITE( nout, fmt = 9989 )path
562 CALL
cdrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
563 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
564 $
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ), s, work,
567 WRITE( nout, fmt = 9988 )path
570 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
575 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
578 CALL
cchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
579 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
580 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
581 $ work, rwork, nout )
583 WRITE( nout, fmt = 9989 )path
587 CALL
cdrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
588 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
589 $
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ), s, work,
592 WRITE( nout, fmt = 9988 )path
595 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
600 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
603 CALL
cchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
604 $ a( 1, 1 ), s, a( 1, 2 ),
b( 1, 1 ),
b( 1, 2 ),
605 $
b( 1, 3 ), work, rwork, nout )
607 WRITE( nout, fmt = 9989 )path
611 CALL
cdrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
612 $ a( 1, 1 ), s, a( 1, 2 ),
b( 1, 1 ),
b( 1, 2 ),
613 $
b( 1, 3 ), work, rwork, nout )
615 WRITE( nout, fmt = 9988 )path
618 ELSE IF(
lsamen( 2, c2,
'HE' ) )
THEN
624 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
627 CALL
cchkhe( dotype, nn, nval, nnb2, nbval2, nns, nsval,
628 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
629 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
630 $ work, rwork, iwork, nout )
632 WRITE( nout, fmt = 9989 )path
636 CALL
cdrvhe( dotype, nn, nval, nrhs, thresh, tsterr, lda,
637 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
638 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, iwork,
641 WRITE( nout, fmt = 9988 )path
644 ELSE IF(
lsamen( 2, c2,
'HR' ) )
THEN
650 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
653 CALL
cchkhe_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
654 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
655 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
656 $ work, rwork, iwork, nout )
658 WRITE( nout, fmt = 9989 )path
662 CALL
cdrvhe_rook( dotype, nn, nval, nrhs, thresh, tsterr,
663 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
664 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work,
665 $ rwork, iwork, nout )
667 WRITE( nout, fmt = 9988 )path
670 ELSE IF(
lsamen( 2, c2,
'HP' ) )
THEN
676 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
679 CALL
cchkhp( dotype, nn, nval, nns, nsval, thresh, tsterr,
680 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
681 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work, rwork,
684 WRITE( nout, fmt = 9989 )path
688 CALL
cdrvhp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
689 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
690 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, iwork,
693 WRITE( nout, fmt = 9988 )path
696 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
702 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
705 CALL
cchksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
706 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
707 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
708 $ work, rwork, iwork, nout )
710 WRITE( nout, fmt = 9989 )path
714 CALL
cdrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
715 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
716 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, iwork,
719 WRITE( nout, fmt = 9988 )path
722 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
728 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
731 CALL
cchksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
732 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
733 $ a( 1, 3 ),
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
734 $ work, rwork, iwork, nout )
736 WRITE( nout, fmt = 9989 )path
740 CALL
cdrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
741 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
742 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work,
743 $ rwork, iwork, nout )
745 WRITE( nout, fmt = 9988 )path
748 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
754 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
757 CALL
cchksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
758 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
759 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work, rwork,
762 WRITE( nout, fmt = 9989 )path
766 CALL
cdrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
767 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
b( 1, 1 ),
768 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, iwork,
771 WRITE( nout, fmt = 9988 )path
774 ELSE IF(
lsamen( 2, c2,
'TR' ) )
THEN
779 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
782 CALL
cchktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
783 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
784 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ), work, rwork,
787 WRITE( nout, fmt = 9989 )path
790 ELSE IF(
lsamen( 2, c2,
'TP' ) )
THEN
795 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
798 CALL
cchktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
799 $ lda, a( 1, 1 ), a( 1, 2 ),
b( 1, 1 ),
800 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, nout )
802 WRITE( nout, fmt = 9989 )path
805 ELSE IF(
lsamen( 2, c2,
'TB' ) )
THEN
810 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
813 CALL
cchktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
814 $ lda, a( 1, 1 ), a( 1, 2 ),
b( 1, 1 ),
815 $
b( 1, 2 ),
b( 1, 3 ), work, rwork, nout )
817 WRITE( nout, fmt = 9989 )path
820 ELSE IF(
lsamen( 2, c2,
'QR' ) )
THEN
825 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
828 CALL
cchkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
829 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
830 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
831 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ),
832 $ work, rwork, iwork, nout )
834 WRITE( nout, fmt = 9989 )path
837 ELSE IF(
lsamen( 2, c2,
'LQ' ) )
THEN
842 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
845 CALL
cchklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
846 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
847 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
848 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ),
849 $ work, rwork, nout )
851 WRITE( nout, fmt = 9989 )path
854 ELSE IF(
lsamen( 2, c2,
'QL' ) )
THEN
859 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
862 CALL
cchkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
863 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
864 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
865 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ),
866 $ work, rwork, nout )
868 WRITE( nout, fmt = 9989 )path
872 ELSE IF(
lsamen( 2, c2,
'RQ' ) )
THEN
877 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
880 CALL
cchkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
881 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
882 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
883 $
b( 1, 1 ),
b( 1, 2 ),
b( 1, 3 ),
b( 1, 4 ),
884 $ work, rwork, iwork, nout )
886 WRITE( nout, fmt = 9989 )path
889 ELSE IF(
lsamen( 2, c2,
'EQ' ) )
THEN
895 CALL
cchkeq( threq, nout )
897 WRITE( nout, fmt = 9989 )path
900 ELSE IF(
lsamen( 2, c2,
'TZ' ) )
THEN
905 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
908 CALL
cchktz( dotype, nm, mval, nn, nval, thresh, tsterr,
909 $ a( 1, 1 ), a( 1, 2 ), s( 1 ),
910 $
b( 1, 1 ), work, rwork, nout )
912 WRITE( nout, fmt = 9989 )path
915 ELSE IF(
lsamen( 2, c2,
'QP' ) )
THEN
920 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
923 CALL
cchkqp( dotype, nm, mval, nn, nval, thresh, tsterr,
924 $ a( 1, 1 ), a( 1, 2 ), s( 1 ),
925 $
b( 1, 1 ), work, rwork, iwork, nout )
926 CALL
cchkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
927 $ thresh, a( 1, 1 ), a( 1, 2 ), s( 1 ),
928 $
b( 1, 1 ), work, rwork, iwork, nout )
930 WRITE( nout, fmt = 9989 )path
934 ELSE IF(
lsamen( 2, c2,
'LS' ) )
THEN
939 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
942 CALL
cdrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
943 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
944 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
945 $ s( 1 ), s( nmax+1 ), work, rwork, iwork,
948 WRITE( nout, fmt = 9989 )path
951 ELSE IF(
lsamen( 2, c2,
'QT' ) )
THEN
956 CALL
cchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
959 WRITE( nout, fmt = 9989 )path
962 ELSE IF(
lsamen( 2, c2,
'QX' ) )
THEN
967 CALL
cchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
970 WRITE( nout, fmt = 9989 )path
975 WRITE( nout, fmt = 9990 )path
987 WRITE( nout, fmt = 9998 )
988 WRITE( nout, fmt = 9997 )s2 - s1
990 9999
FORMAT( /
' Execution not attempted due to input errors' )
991 9998
FORMAT( /
' End of tests' )
992 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
993 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
995 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
997 9994
FORMAT(
' Tests of the COMPLEX LAPACK routines ',
998 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
999 $ / /
' The following parameter values will be used:' )
1000 9993
FORMAT( 4
x, a4,
': ', 10i6, / 11
x, 10i6 )
1001 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1002 $
'less than', f8.2, / )
1003 9991
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
1004 9990
FORMAT( / 1
x, a3,
': Unrecognized path name' )
1005 9989
FORMAT( / 1
x, a3,
' routines were not tested' )
1006 9988
FORMAT( / 1
x, a3,
' driver routines were not tested' )
subroutine cdrvhp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVHP
subroutine cchkeq(THRESH, NOUT)
CCHKEQ
subroutine cchkql(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
CCHKQL
LOGICAL function lsame(CA, CB)
LSAME
subroutine cdrvls(DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, NNB, NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, COPYB, C, S, COPYS, WORK, RWORK, IWORK, NOUT)
CDRVLS
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine cchkrq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, NOUT)
CCHKRQ
REAL function slamch(CMACH)
SLAMCH
subroutine cchkgb(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, A, LA, AFAC, LAFAC, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKGB
subroutine cchktr(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AINV, B, X, XACT, WORK, RWORK, NOUT)
CCHKTR
subroutine cchkhp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKHP
subroutine cdrvgb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, LA, AFB, LAFB, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
CDRVGB
subroutine cchkhe_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKHE_ROOK
subroutine cchksy_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKSY_ROOK
subroutine cchkqr(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, NOUT)
CCHKQR
subroutine cchkps(DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK, RWORK, NOUT)
CCHKPS
REAL function second()
SECOND Using ETIME
subroutine cdrvpo(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
CDRVPO
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine cchksp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKSP
subroutine cchktb(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AB, AINV, B, X, XACT, WORK, RWORK, NOUT)
CCHKTB
subroutine cchkpo(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
CCHKPO
subroutine cchkhe(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKHE
subroutine cchklq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
CCHKLQ
subroutine cchktz(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, RWORK, NOUT)
CCHKTZ
subroutine cdrvsy_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVSY_ROOK
subroutine cdrvpt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
CDRVPT
subroutine cdrvgt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVGT
subroutine cdrvhe(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVHE
subroutine cchkpp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
CCHKPP
subroutine cchkq3(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, THRESH, A, COPYA, S, TAU, WORK, RWORK, IWORK, NOUT)
CCHKQ3
subroutine cchkpt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
CCHKPT
subroutine cchksy(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKSY
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine cchkqrtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
CCHKQRTP
subroutine cdrvpp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
CDRVPP
LOGICAL function lsamen(N, CA, CB)
LSAMEN
subroutine cchkqp(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, RWORK, IWORK, NOUT)
CCHKQP
subroutine cchkgt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKGT
subroutine cdrvpb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
CDRVPB
subroutine cchkge(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CCHKGE
subroutine cdrvge(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
CDRVGE
subroutine cdrvsp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVSP
subroutine cdrvhe_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVHE_ROOK
subroutine cchkpb(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
CCHKPB
subroutine cdrvsy(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
CDRVSY
subroutine cchktp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AP, AINVP, B, X, XACT, WORK, RWORK, NOUT)
CCHKTP
subroutine cchkqrt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
CCHKQRT