120 parameter( nmax = 132 )
122 parameter( maxin = 12 )
124 parameter( maxrhs = 16 )
126 parameter( matmax = 30 )
128 parameter( nin = 5, nout = 6 )
130 parameter( kdmax = nmax+( nmax+1 ) / 4 )
133 LOGICAL FATAL, TSTCHK, TSTDRV, TSTERR
139 INTEGER I, IC, J, K, LA, LAFAC, LDA, NB, NM, NMATS, NN,
140 $ nnb, nnb2, nns, nrhs, ntypes, nrank,
141 $ vers_major, vers_minor, vers_patch
142 DOUBLE PRECISION EPS, S1, S2, THREQ, THRESH
145 LOGICAL DOTYPE( matmax )
146 INTEGER IWORK( 25*nmax ), MVAL( maxin ),
147 $ nbval( maxin ), nbval2( maxin ),
148 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
149 $ rankval( maxin ), piv( nmax )
150 DOUBLE PRECISION A( ( kdmax+1 )*nmax, 7 ), B( nmax*maxrhs, 4 ),
151 $ e( nmax ), rwork( 5*nmax+2*maxrhs ),
152 $ s( 2*nmax ), work( nmax, nmax+maxrhs+30 )
155 LOGICAL LSAME, LSAMEN
156 DOUBLE PRECISION DLAMCH, DSECND
157 EXTERNAL lsame, lsamen, dlamch, dsecnd
177 INTEGER IPARMS( 100 )
180 COMMON / infoc / infot, nunit, ok, lerr
181 COMMON / srnamc / srnamt
182 COMMON / claenv / iparms
185 DATA threq / 2.0d0 / , 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 = dlamch(
'Underflow threshold' )
375 WRITE( nout, fmt = 9991 )
'underflow', eps
376 eps = dlamch(
'Overflow threshold' )
377 WRITE( nout, fmt = 9991 )
'overflow ', eps
378 eps = dlamch(
'Epsilon' )
379 WRITE( nout, fmt = 9991 )
'precision', eps
380 WRITE( nout, fmt = * )
386 READ( nin, fmt =
'(A72)', end = 140 )aline
396 IF( aline( i: i ).EQ.
' ' )
402 IF( c1.EQ.intstr( k: k ) )
THEN 409 nmats = nmats*10 + ic
421 IF( .NOT.lsame( c1,
'Double precision' ) )
THEN 422 WRITE( nout, fmt = 9990 )path
424 ELSE IF( nmats.LE.0 )
THEN 428 WRITE( nout, fmt = 9989 )path
430 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN 435 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
438 CALL dchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
439 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
440 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
441 $ b( 1, 3 ), work, rwork, iwork, nout )
443 WRITE( nout, fmt = 9989 )path
447 CALL ddrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
448 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
449 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
450 $ rwork, iwork, nout )
452 WRITE( nout, fmt = 9988 )path
455 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN 459 la = ( 2*kdmax+1 )*nmax
460 lafac = ( 3*kdmax+1 )*nmax
462 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
465 CALL dchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
466 $ nsval, thresh, tsterr, a( 1, 1 ), la,
467 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
468 $ b( 1, 3 ), work, rwork, iwork, nout )
470 WRITE( nout, fmt = 9989 )path
474 CALL ddrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
475 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
476 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
477 $ work, rwork, iwork, nout )
479 WRITE( nout, fmt = 9988 )path
482 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN 487 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
490 CALL dchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
491 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
492 $ b( 1, 3 ), work, rwork, iwork, nout )
494 WRITE( nout, fmt = 9989 )path
498 CALL ddrvgt( dotype, nn, nval, nrhs, 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 = 9988 )path
505 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN 510 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
513 CALL dchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
514 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
515 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
516 $ work, rwork, iwork, nout )
518 WRITE( nout, fmt = 9989 )path
522 CALL ddrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
523 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
524 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
525 $ rwork, iwork, nout )
527 WRITE( nout, fmt = 9988 )path
530 ELSE IF( lsamen( 2, c2,
'PS' ) )
THEN 536 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
539 CALL dchkps( dotype, nn, nval, nnb2, nbval2, nrank,
540 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
541 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
544 WRITE( nout, fmt = 9989 )path
547 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN 552 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
555 CALL dchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
556 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
557 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
560 WRITE( nout, fmt = 9989 )path
564 CALL ddrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
565 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
566 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
567 $ rwork, iwork, nout )
569 WRITE( nout, fmt = 9988 )path
572 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN 577 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
580 CALL dchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
581 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
582 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
583 $ work, rwork, iwork, nout )
585 WRITE( nout, fmt = 9989 )path
589 CALL ddrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
590 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
591 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
592 $ rwork, iwork, nout )
594 WRITE( nout, fmt = 9988 )path
597 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN 602 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
605 CALL dchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
606 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
607 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
609 WRITE( nout, fmt = 9989 )path
613 CALL ddrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
614 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
615 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
617 WRITE( nout, fmt = 9988 )path
620 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN 626 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
629 CALL dchksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
630 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
631 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
632 $ work, rwork, iwork, nout )
634 WRITE( nout, fmt = 9989 )path
638 CALL ddrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
639 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
640 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
643 WRITE( nout, fmt = 9988 )path
646 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN 652 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
655 CALL dchksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
656 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
657 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
658 $ work, rwork, iwork, nout )
660 WRITE( nout, fmt = 9989 )path
664 CALL ddrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
665 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
666 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
667 $ work, rwork, iwork, nout )
669 WRITE( nout, fmt = 9988 )path
672 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN 679 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
682 CALL dchksy_rk( dotype, nn, nval, nnb2, nbval2, nns, nsval,
683 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
684 $ e, a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
685 $ b( 1, 3 ), work, rwork, iwork, nout )
687 WRITE( nout, fmt = 9989 )path
691 CALL ddrvsy_rk( dotype, nn, nval, nrhs, thresh, tsterr,
692 $ lda, a( 1, 1 ), a( 1, 2 ), e, a( 1, 3 ),
693 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
694 $ work, rwork, iwork, nout )
696 WRITE( nout, fmt = 9988 )path
699 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN 705 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
708 CALL dchksy_aa( dotype, nn, nval, nnb2, nbval2, nns,
709 $ nsval, thresh, tsterr, lda,
710 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
711 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
712 $ work, rwork, iwork, nout )
714 WRITE( nout, fmt = 9989 )path
718 CALL ddrvsy_aa( dotype, nn, nval, nrhs, thresh, tsterr,
719 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
720 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
721 $ work, rwork, iwork, nout )
723 WRITE( nout, fmt = 9988 )path
727 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN 733 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
736 CALL dchksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
737 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
738 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
741 WRITE( nout, fmt = 9989 )path
745 CALL ddrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
746 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
747 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
750 WRITE( nout, fmt = 9988 )path
753 ELSE IF( lsamen( 2, c2,
'TR' ) )
THEN 758 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
761 CALL dchktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
762 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
763 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
766 WRITE( nout, fmt = 9989 )path
769 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN 774 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
777 CALL dchktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
778 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
779 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
782 WRITE( nout, fmt = 9989 )path
785 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN 790 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
793 CALL dchktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
794 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
795 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
798 WRITE( nout, fmt = 9989 )path
801 ELSE IF( lsamen( 2, c2,
'QR' ) )
THEN 806 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
809 CALL dchkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
810 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
811 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
812 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
813 $ work, rwork, iwork, nout )
815 WRITE( nout, fmt = 9989 )path
818 ELSE IF( lsamen( 2, c2,
'LQ' ) )
THEN 823 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
826 CALL dchklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
827 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
828 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
829 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
830 $ work, rwork, nout )
832 WRITE( nout, fmt = 9989 )path
835 ELSE IF( lsamen( 2, c2,
'QL' ) )
THEN 840 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
843 CALL dchkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
844 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
845 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
846 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
847 $ work, rwork, nout )
849 WRITE( nout, fmt = 9989 )path
852 ELSE IF( lsamen( 2, c2,
'RQ' ) )
THEN 857 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
860 CALL dchkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
861 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
862 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
863 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
864 $ work, rwork, iwork, nout )
866 WRITE( nout, fmt = 9989 )path
869 ELSE IF( lsamen( 2, c2,
'QP' ) )
THEN 874 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
877 CALL dchkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
878 $ thresh, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
879 $ b( 1, 3 ), work, iwork, nout )
881 WRITE( nout, fmt = 9989 )path
884 ELSE IF( lsamen( 2, c2,
'TZ' ) )
THEN 889 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
892 CALL dchktz( dotype, nm, mval, nn, nval, thresh, tsterr,
893 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
894 $ b( 1, 3 ), work, nout )
896 WRITE( nout, fmt = 9989 )path
899 ELSE IF( lsamen( 2, c2,
'LS' ) )
THEN 904 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
907 CALL ddrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
908 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
909 $ a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
910 $ rwork, rwork( nmax+1 ), nout )
912 WRITE( nout, fmt = 9988 )path
915 ELSE IF( lsamen( 2, c2,
'EQ' ) )
THEN 921 CALL dchkeq( threq, nout )
923 WRITE( nout, fmt = 9989 )path
926 ELSE IF( lsamen( 2, c2,
'QT' ) )
THEN 931 CALL dchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
934 WRITE( nout, fmt = 9989 )path
937 ELSE IF( lsamen( 2, c2,
'QX' ) )
THEN 942 CALL dchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
945 WRITE( nout, fmt = 9989 )path
948 ELSE IF( lsamen( 2, c2,
'TQ' ) )
THEN 953 CALL dchklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
956 WRITE( nout, fmt = 9989 )path
959 ELSE IF( lsamen( 2, c2,
'XQ' ) )
THEN 964 CALL dchklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
967 WRITE( nout, fmt = 9989 )path
970 ELSE IF( lsamen( 2, c2,
'TS' ) )
THEN 975 CALL dchktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
978 WRITE( nout, fmt = 9989 )path
983 WRITE( nout, fmt = 9990 )path
995 WRITE( nout, fmt = 9998 )
996 WRITE( nout, fmt = 9997 )s2 - s1
998 9999
FORMAT( /
' Execution not attempted due to input errors' )
999 9998
FORMAT( /
' End of tests' )
1000 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
1001 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
1003 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
1005 9994
FORMAT(
' Tests of the DOUBLE PRECISION LAPACK routines ',
1006 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
1007 $ / /
' The following parameter values will be used:' )
1008 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
1009 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1010 $
'less than', f8.2, / )
1011 9991
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
1012 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1013 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1014 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )
subroutine dchkqrtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRTP
subroutine dchksy_aa(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_AA
subroutine ddrvsp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSP
subroutine ddrvsy_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_ROOK
subroutine dchktr(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTR
subroutine ddrvsy(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY
subroutine dchkqr(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)
DCHKQR
subroutine dchksy_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_ROOK
subroutine dchktz(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, NOUT)
DCHKTZ
subroutine dchklqt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKLQT
subroutine dchkpb(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPB
subroutine dchkrq(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)
DCHKRQ
subroutine dchksp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSP
subroutine ddrvpb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPB
subroutine dchkq3(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, THRESH, A, COPYA, S, TAU, WORK, IWORK, NOUT)
DCHKQ3
subroutine dchkge(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGE
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine dchkps(DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK, RWORK, NOUT)
DCHKPS
subroutine dchktb(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AB, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTB
subroutine ddrvsy_rk(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_RK
subroutine dchklq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
DCHKLQ
subroutine ddrvpt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
DDRVPT
subroutine dchkpo(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPO
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine dchkqrt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRT
subroutine dchksy(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY
subroutine dchkql(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
DCHKQL
subroutine dchkgt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGT
subroutine dchksy_rk(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_RK
subroutine dchktp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AP, AINVP, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTP
subroutine ddrvls(DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, NNB, NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, COPYB, C, S, COPYS, NOUT)
DDRVLS
subroutine dchkpp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPP
subroutine dchktsqr(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRT
subroutine ddrvpp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPP
subroutine ddrvge(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVGE
subroutine dchkgb(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, A, LA, AFAC, LAFAC, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGB
subroutine dchkpt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
DCHKPT
subroutine ddrvgt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVGT
subroutine dchkeq(THRESH, NOUT)
DCHKEQ
subroutine ddrvsy_aa(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_AA
subroutine ddrvpo(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPO
subroutine dchklqtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKLQTP
subroutine ddrvgb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, LA, AFB, LAFB, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVGB