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 REAL 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 REAL 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 )
176 INTEGER iparms( 100 )
179 COMMON / claenv / iparms
180 COMMON / infoc / infot, nunit, ok, lerr
181 COMMON / srnamc / srnamt
184 DATA threq / 2.0e0 / , intstr /
'0123456789' /
198 CALL ilaver( vers_major, vers_minor, vers_patch )
199 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
203 READ( nin, fmt = * )nm
205 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
208 ELSE IF( nm.GT.maxin )
THEN
209 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
213 READ( nin, fmt = * )( mval( i ), i = 1, nm )
215 IF( mval( i ).LT.0 )
THEN
216 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
218 ELSE IF( mval( i ).GT.nmax )
THEN
219 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
224 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
228 READ( nin, fmt = * )nn
230 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
233 ELSE IF( nn.GT.maxin )
THEN
234 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
238 READ( nin, fmt = * )( nval( i ), i = 1, nn )
240 IF( nval( i ).LT.0 )
THEN
241 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
243 ELSE IF( nval( i ).GT.nmax )
THEN
244 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
249 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
253 READ( nin, fmt = * )nns
255 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
258 ELSE IF( nns.GT.maxin )
THEN
259 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
263 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
265 IF( nsval( i ).LT.0 )
THEN
266 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
268 ELSE IF( nsval( i ).GT.maxrhs )
THEN
269 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
274 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
278 READ( nin, fmt = * )nnb
280 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
283 ELSE IF( nnb.GT.maxin )
THEN
284 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
288 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
290 IF( nbval( i ).LT.0 )
THEN
291 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
296 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
304 IF( nb.EQ.nbval2( j ) )
313 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
315 IF( nxval( i ).LT.0 )
THEN
316 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
321 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
325 READ( nin, fmt = * )nrank
327 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
330 ELSE IF( nn.GT.maxin )
THEN
331 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
335 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
337 IF( rankval( i ).LT.0 )
THEN
338 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
340 ELSE IF( rankval( i ).GT.100 )
THEN
341 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
346 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
347 $ ( rankval( i ), i = 1, nrank )
351 READ( nin, fmt = * )thresh
352 WRITE( nout, fmt = 9992 )thresh
356 READ( nin, fmt = * )tstchk
360 READ( nin, fmt = * )tstdrv
364 READ( nin, fmt = * )tsterr
367 WRITE( nout, fmt = 9999 )
373 eps =
slamch(
'Underflow threshold' )
374 WRITE( nout, fmt = 9991 )
'underflow', eps
375 eps =
slamch(
'Overflow threshold' )
376 WRITE( nout, fmt = 9991 )
'overflow ', eps
378 WRITE( nout, fmt = 9991 )
'precision', eps
379 WRITE( nout, fmt = * )
385 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
420 IF( .NOT.
lsame( c1,
'Single precision' ) )
THEN
421 WRITE( nout, fmt = 9990 )path
423 ELSE IF( nmats.LE.0 )
THEN
427 WRITE( nout, fmt = 9989 )path
429 ELSE IF(
lsamen( 2, c2,
'GE' ) )
THEN
434 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
437 CALL schkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
438 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
439 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
440 $ b( 1, 3 ), work, rwork, iwork, nout )
442 WRITE( nout, fmt = 9989 )path
446 CALL sdrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
447 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
448 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
449 $ rwork, iwork, nout )
451 WRITE( nout, fmt = 9988 )path
454 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
458 la = ( 2*kdmax+1 )*nmax
459 lafac = ( 3*kdmax+1 )*nmax
461 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
464 CALL schkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
465 $ nsval, thresh, tsterr, a( 1, 1 ), la,
466 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
467 $ b( 1, 3 ), work, rwork, iwork, nout )
469 WRITE( nout, fmt = 9989 )path
473 CALL sdrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
474 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
475 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
476 $ work, rwork, iwork, nout )
478 WRITE( nout, fmt = 9988 )path
481 ELSE IF(
lsamen( 2, c2,
'GT' ) )
THEN
486 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
489 CALL schkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
490 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
491 $ b( 1, 3 ), work, rwork, iwork, nout )
493 WRITE( nout, fmt = 9989 )path
497 CALL sdrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
498 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
499 $ b( 1, 3 ), work, rwork, iwork, nout )
501 WRITE( nout, fmt = 9988 )path
504 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
509 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
512 CALL schkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
513 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
514 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
515 $ work, rwork, iwork, nout )
517 WRITE( nout, fmt = 9989 )path
521 CALL sdrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
522 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
523 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
524 $ rwork, iwork, nout )
526 WRITE( nout, fmt = 9988 )path
529 ELSE IF(
lsamen( 2, c2,
'PS' ) )
THEN
535 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
538 CALL schkps( dotype, nn, nval, nnb2, nbval2, nrank,
539 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
540 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
543 WRITE( nout, fmt = 9989 )path
546 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
551 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
554 CALL schkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
555 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
556 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
559 WRITE( nout, fmt = 9989 )path
563 CALL sdrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
564 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
565 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
566 $ rwork, iwork, nout )
568 WRITE( nout, fmt = 9988 )path
571 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
576 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
579 CALL schkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
580 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
581 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
582 $ work, rwork, iwork, nout )
584 WRITE( nout, fmt = 9989 )path
588 CALL sdrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
589 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
590 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
591 $ rwork, iwork, nout )
593 WRITE( nout, fmt = 9988 )path
596 ELSE IF(
lsamen( 2, c2,
'PT' ) )
THEN
601 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
604 CALL schkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
605 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
606 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
608 WRITE( nout, fmt = 9989 )path
612 CALL sdrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
613 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
614 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
616 WRITE( nout, fmt = 9988 )path
619 ELSE IF(
lsamen( 2, c2,
'SY' ) )
THEN
625 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
628 CALL schksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
629 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
630 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
631 $ work, rwork, iwork, nout )
633 WRITE( nout, fmt = 9989 )path
637 CALL sdrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
638 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
639 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
642 WRITE( nout, fmt = 9988 )path
645 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
651 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
654 CALL schksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
655 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
656 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
657 $ work, rwork, iwork, nout )
659 WRITE( nout, fmt = 9989 )path
663 CALL sdrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
664 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
665 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
666 $ work, rwork, iwork, nout )
668 WRITE( nout, fmt = 9988 )path
671 ELSE IF(
lsamen( 2, c2,
'SK' ) )
THEN
678 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
681 CALL schksy_rk( dotype, nn, nval, nnb2, nbval2, nns, nsval,
682 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
683 $ e, a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
684 $ b( 1, 3 ), work, rwork, iwork, nout )
686 WRITE( nout, fmt = 9989 )path
690 CALL sdrvsy_rk( dotype, nn, nval, nrhs, thresh, tsterr,
691 $ lda, a( 1, 1 ), a( 1, 2 ), e, a( 1, 3 ),
692 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
693 $ work, rwork, iwork, nout )
695 WRITE( nout, fmt = 9988 )path
698 ELSE IF(
lsamen( 2, c2,
'SA' ) )
THEN
704 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
707 CALL schksy_aa( dotype, nn, nval, nnb2, nbval2, nns,
708 $ nsval, thresh, tsterr, lda,
709 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
710 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
711 $ work, rwork, iwork, nout )
713 WRITE( nout, fmt = 9989 )path
717 CALL sdrvsy_aa( dotype, nn, nval, nrhs, thresh, tsterr,
718 $ lda, 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 = 9988 )path
725 ELSE IF(
lsamen( 2, c2,
'S2' ) )
THEN
731 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
735 $ nns, nsval, thresh, tsterr, lda,
736 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
737 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
738 $ work, rwork, iwork, nout )
740 WRITE( nout, fmt = 9989 )path
745 $ dotype, nn, nval, nrhs, thresh, tsterr,
746 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
747 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
748 $ work, rwork, iwork, nout )
750 WRITE( nout, fmt = 9988 )path
753 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
759 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
762 CALL schksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
763 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
764 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
767 WRITE( nout, fmt = 9989 )path
771 CALL sdrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
772 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
773 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
776 WRITE( nout, fmt = 9988 )path
779 ELSE IF(
lsamen( 2, c2,
'TR' ) )
THEN
784 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
787 CALL schktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
788 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
789 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
792 WRITE( nout, fmt = 9989 )path
795 ELSE IF(
lsamen( 2, c2,
'TP' ) )
THEN
800 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
803 CALL schktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
804 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
805 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
808 WRITE( nout, fmt = 9989 )path
811 ELSE IF(
lsamen( 2, c2,
'TB' ) )
THEN
816 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
819 CALL schktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
820 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
821 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
824 WRITE( nout, fmt = 9989 )path
827 ELSE IF(
lsamen( 2, c2,
'QR' ) )
THEN
832 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
835 CALL schkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
836 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
837 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
838 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
839 $ work, rwork, iwork, nout )
841 WRITE( nout, fmt = 9989 )path
844 ELSE IF(
lsamen( 2, c2,
'LQ' ) )
THEN
849 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
852 CALL schklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
853 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
854 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
855 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
856 $ work, rwork, nout )
858 WRITE( nout, fmt = 9989 )path
861 ELSE IF(
lsamen( 2, c2,
'QL' ) )
THEN
866 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
869 CALL schkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
870 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
871 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
872 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
873 $ work, rwork, nout )
875 WRITE( nout, fmt = 9989 )path
878 ELSE IF(
lsamen( 2, c2,
'RQ' ) )
THEN
883 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
886 CALL schkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
887 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
888 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
889 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
890 $ work, rwork, iwork, nout )
892 WRITE( nout, fmt = 9989 )path
895 ELSE IF(
lsamen( 2, c2,
'QP' ) )
THEN
900 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
903 CALL schkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
904 $ thresh, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
905 $ b( 1, 3 ), work, iwork, nout )
907 WRITE( nout, fmt = 9989 )path
910 ELSE IF(
lsamen( 2, c2,
'TZ' ) )
THEN
915 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
918 CALL schktz( dotype, nm, mval, nn, nval, thresh, tsterr,
919 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
920 $ b( 1, 3 ), work, nout )
922 WRITE( nout, fmt = 9989 )path
925 ELSE IF(
lsamen( 2, c2,
'LS' ) )
THEN
930 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
933 CALL sdrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
934 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
935 $ a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
936 $ rwork, rwork( nmax+1 ), nout )
938 WRITE( nout, fmt = 9988 )path
941 ELSE IF(
lsamen( 2, c2,
'EQ' ) )
THEN
947 CALL schkeq( threq, nout )
949 WRITE( nout, fmt = 9989 )path
952 ELSE IF(
lsamen( 2, c2,
'QT' ) )
THEN
957 CALL schkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
960 WRITE( nout, fmt = 9989 )path
963 ELSE IF(
lsamen( 2, c2,
'QX' ) )
THEN
968 CALL schkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
971 WRITE( nout, fmt = 9989 )path
974 ELSE IF(
lsamen( 2, c2,
'TQ' ) )
THEN
979 CALL schklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
982 WRITE( nout, fmt = 9989 )path
985 ELSE IF(
lsamen( 2, c2,
'XQ' ) )
THEN
990 CALL schklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
993 WRITE( nout, fmt = 9989 )path
996 ELSE IF(
lsamen( 2, c2,
'TS' ) )
THEN
1001 CALL schktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
1004 WRITE( nout, fmt = 9989 )path
1007 ELSE IF(
lsamen( 2, c2,
'HH' ) )
THEN
1012 CALL schkorhr_col( thresh, tsterr, nm, mval, nn, nval, nnb,
1015 WRITE( nout, fmt = 9989 ) path
1020 WRITE( nout, fmt = 9990 )path
1032 WRITE( nout, fmt = 9998 )
1033 WRITE( nout, fmt = 9997 )s2 - s1
1035 9999
FORMAT( /
' Execution not attempted due to input errors' )
1036 9998
FORMAT( /
' End of tests' )
1037 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
1038 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
1040 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
1042 9994
FORMAT(
' Tests of the REAL LAPACK routines ',
1043 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
1044 $ / /
' The following parameter values will be used:' )
1045 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
1046 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1047 $
'less than', f8.2, / )
1048 9991
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
1049 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1050 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1051 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )
logical function lsamen(N, CA, CB)
LSAMEN
logical function lsame(CA, CB)
LSAME
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine schklqt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKLQT
subroutine schksy_rk(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSY_RK
subroutine schktsqr(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKQRT
subroutine schklqtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKLQTP
subroutine sdrvsy_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSY_ROOK
subroutine schktp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AP, AINVP, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKTP
subroutine schktz(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, NOUT)
SCHKTZ
subroutine sdrvsp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSP
subroutine schksy(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSY
subroutine schkgt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKGT
subroutine schkpo(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKPO
subroutine schkqrt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKQRT
subroutine schkorhr_col(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKORHR_COL
subroutine schkqrtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
SCHKQRTP
subroutine schkq3(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, THRESH, A, COPYA, S, TAU, WORK, IWORK, NOUT)
SCHKQ3
subroutine schkeq(THRESH, NOUT)
SCHKEQ
subroutine sdrvpo(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
SDRVPO
subroutine sdrvgt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVGT
subroutine sdrvls(DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, NNB, NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, COPYB, C, S, COPYS, NOUT)
SDRVLS
subroutine schktb(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AB, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKTB
subroutine schksp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSP
subroutine sdrvsy_rk(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSY_RK
subroutine sdrvsy(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSY
subroutine schkps(DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK, RWORK, NOUT)
SCHKPS
subroutine sdrvgb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, LA, AFB, LAFB, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
SDRVGB
subroutine schkgb(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, A, LA, AFAC, LAFAC, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKGB
subroutine schkpb(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKPB
subroutine schklq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
SCHKLQ
subroutine sdrvge(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
SDRVGE
subroutine sdrvpb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
SDRVPB
subroutine schkge(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKGE
subroutine schkpp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKPP
subroutine schkpt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
SCHKPT
subroutine sdrvpp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
SDRVPP
subroutine schkrq(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)
SCHKRQ
subroutine schksy_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSY_ROOK
subroutine schkqr(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)
SCHKQR
subroutine schktr(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKTR
subroutine sdrvpt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
SDRVPT
subroutine schkql(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
SCHKQL
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine schksy_aa(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSY_AA
subroutine schksy_aa_2stage(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SCHKSY_AA_2STAGE
subroutine sdrvsy_aa(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSY_AA
subroutine sdrvsy_aa_2stage(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
SDRVSY_AA_2STAGE
real function second()
SECOND Using ETIME
real function slamch(CMACH)
SLAMCH