3 SUBROUTINE pcgseptst( DESCA, UPLO, N, MATTYPE, IBTYPE, SUBTESTS,
4 $ THRESH, ORDER, ABSTOL, ISEED, A, COPYA, B,
5 $ COPYB, Z, LDA, WIN, WNEW, IFAIL, ICLUSTR,
6 $ GAP, IPREPAD, IPOSTPAD, WORK, LWORK, RWORK,
7 $ LRWORK, IWORK, LIWORK, NOUT, INFO )
15 CHARACTER SUBTESTS, UPLO
16 INTEGER IBTYPE, INFO, IPOSTPAD, IPREPAD, LDA, LIWORK,
17 $ LRWORK, LWORK, MATTYPE, N, NOUT, ORDER
21 INTEGER DESCA( * ), ( * ), IFAIL( * ),
22 $ iseed( 4 ), iwork( * )
23 REAL GAP( * ), RWORK( * ), WIN( * ), WNEW( * )
24 COMPLEX A( LDA, * ), B( LDA, * ), COPYA( LDA, * ),
25 $ copyb( lda, * ), work( * ), z( lda, * )
218 INTEGER BLOCK_CYCLIC_2D, DLEN_, DTYPE_, CTXT_, M_, N_,
219 $ MB_, NB_, RSRC_, , LLD_
220 PARAMETER ( BLOCK_CYCLIC_2D = 1, dlen_ = 9, dtype_ = 1,
221 $ ctxt_ = 2, m_ = 3, n_ = 4, mb_ = 5, nb_ = 6,
222 $ rsrc_ = 7, csrc_ = 8, lld_ = 9 )
223 REAL ZERO, ONE, TEN, HALF
224 parameter( zero = 0.0e+0, one = 1.0e+0, ten = 10.0e+0,
227 parameter( padval = ( 19.25e+0, 1.1e+1 ) )
229 PARAMETER ( CZERO = ( 0.0e+0, 0.0e+0 ) )
231 parameter( cone = ( 1.0e+0, 0.0e+0 ) )
233 parameter( maxtyp = 22 )
238 CHARACTER JOBZ, RANGE
240 INTEGER CONTEXT, I, IAM, IINFO, IL, IMODE, IN, INDD,
241 $ indrwork, indwork, isizeheevx, isizesubtst,
242 $ isizetst, itype, iu, j, lheevxsize, llrwork,
243 $ llwork, maxsize, mycol, myrow, nb, ngen, nloc,
244 $ nnodes, np, npcol, nprow, nq, res, rsizechk,
245 $ rsizeheevx, rsizeqtq, rsizesubtst, rsizetst,
246 $ sizeheevx, sizemqrleft, sizemqrright, sizeqrf,
247 $ sizesubtst, sizetms, sizetst, valsize, vecsize
248 REAL ANINV, ANORM, COND, MAXQTQNRM, MAXTSTNRM, OVFL,
249 $ QTQNRM, RTOVFL, RTUNFL, TEMP1, TSTNRM, ULP,
250 $ ULPINV, UNFL, VL, VU
253 INTEGER ISEEDIN( 4 ), KMAGN( MAXTYP ), KMODE(
255DOUBLE PRECISION CTIME( 10 ), WTIME( 10 )
261 EXTERNAL LSAME, NUMROC, PSLAMCH, SLARAN
271 INTRINSIC abs, int,
max,
min, mod, real, sqrt
274 DATA ktype / 1, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 8,
275 $ 8, 8, 9, 9, 9, 9, 9, 10, 11 /
276 DATA kmagn / 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1,
277 $ 2, 3, 1, 1, 1, 2, 3, 1, 1 /
278 DATA kmode / 0, 0, 4, 3, 1, 4, 4, 4, 3, 1, 4, 4, 0,
279 $ 0, 0, 4, 3, 1, 4, 4, 3, 0 /
283 IF( block_cyclic_2d*csrc_*ctxt_*dlen_*dtype_*lld_*mb_*m_*nb_*n_*
288 context = desca( ctxt_ )
291 CALL blacs_pinfo( iam, nnodes )
298 CALL pclasizegsep( desca, iprepad, ipostpad, sizemqrleft,
299 $ sizemqrright, sizeqrf, sizetms, rsizeqtq,
300 $ rsizechk, sizeheevx, rsizeheevx, isizeheevx,
301 $ sizesubtst, rsizesubtst, isizesubtst, sizetst,
302 $ rsizetst, isizetst )
304 IF( lrwork.LT.rsizetst )
THEN
308 CALL igamx2d( context,
'a',
' ', 1, 1, info, 1, 1, 1, -1, -1, 0 )
315 llwork = lwork - indwork + 1
316 llrwork = lrwork - indrwork + 1
318 ulp = pslamch( context,
'P' )
320 unfl = pslamch( context,
'Safe min' )
323 rtunfl = sqrt( unfl )
324 rtovfl = sqrt( ovfl )
325 aninv = one / real(
max( 1, n ) )
329 IF( myrow.EQ.0 .AND. mycol.EQ.0 )
THEN
330 CALL igebs2d( context,
'a',
' ', 4, 1, iseed, 4 )
332 CALL igebr2d( context,
'a',
' ', 4, 1, iseed, 4, 0, 0 )
334 iseedin( 1 ) = iseed( 1 )
335 iseedin( 2 ) = iseed( 2 )
336 iseedin( 3 ) = iseed( 3 )
337 iseedin( 4 ) = iseed( 4 )
356 itype = ktype( mattype )
357 imode = kmode( mattype )
361 GO TO ( 10, 20, 30 )kmagn( mattype )
368 anorm = ( rtovfl*ulp )*aninv
372 anorm = rtunfl*n*ulpinv
376 IF( mattype.LE.15 )
THEN
379 cond = ulpinv*aninv / ten
387 IF( itype.EQ.1 )
THEN
394 CALL pclaset(
'All', n, n, czero, czero, copya, 1, 1,
398 ELSE IF( itype.EQ.2 )
THEN
405 CALL pclaset(
'All', n, n, czero, cone, copya
408 ELSE IF( itype.EQ.4 )
THEN
412 CALL pcfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
413 $ sizetms, iprepad, ipostpad, padval+1.0e+0 )
415 CALL pclatms( n, n,
'S', iseed,
'S', rwork( indd ), imode,
416 $
'N', copya, 1, 1, desca,
417 $ order, work( indwork+iprepad ), sizetms,
421 CALL pcchekpad( desca( ctxt_ ),
'PCLATMS1-WORK', sizetms, 1,
422 $ work( indwork ), sizetms, iprepad, ipostpad,
425 ELSE IF( itype.EQ.5 )
THEN
429 CALL pcfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
430 $ sizetms, iprepad, ipostpad
432 CALL pclatms( n, n,
'S', iseed,
'S', rwork( indd ), imode,
433 $ cond, anorm, n, n,
'N', copya, 1, 1, desca,
434 $ order, work( indwork+iprepad ), sizetms,
437 CALL pcchekpad( desca( ctxt_ ),
'PCLATMS2-WORK', sizetms, 1,
438 $ work( indwork ), sizetms, iprepad, ipostpad,
443 ELSE IF( itype.EQ.8 )
THEN
447 np = numroc( n, desca( mb_ ), myrow, 0, nprow )
448 nq = numroc( n, desca( nb_ ), mycol, 0, npcol )
449 CALL pcmatgen( desca( ctxt_ ),
'H',
'N', n, n, desca( mb_ ),
450 $ desca( nb_ ), copya, desca( lld_ ),
451 $ desca( rsrc_ ), desca( csrc_ ), iseed( 1 ),
452 $ 0, np, 0, nq, myrow, mycol, nprow, npcol )
456 ELSE IF( itype.EQ.9 )
THEN
461 CALL pcfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
462 $ sizetms, iprepad, ipostpad, padval+3.0e+0 )
464 CALL pclatms( n, n,
'S', iseed,
'S', rwork( indd ), imode,
465 $ cond, anorm, n, n,
'N', copya, 1, 1, desca,
466 $ order, work( indwork+iprepad ), sizetms
471 CALL pcchekpad( desca( ctxt_ ),
'PCLATMS3-WORK', sizetms, 1,
472 $ work( indwork ), sizetms, iprepad, ipostpad
475 ELSE IF( itype.EQ.10 )
THEN
480 CALL pclaset(
'All', n, n, czero, czero, copya, 1, 1,
482 np = numroc( n, desca( mb_ ), 0, 0, nprow )
483 nq = numroc( n, desca( nb_ ), 0, 0, npcol )
489 in =
min( 1+int( slaran( iseed )*real( nloc ) ), n-ngen )
491 CALL clatms( in, in,
'S', iseed,
'P', rwork( indd ),
492 $ imode, cond, anorm, 1, 1,
'N', a, lda,
493 $ work( indwork ), iinfo )
496 temp1 = abs( a( i-1, i ) ) /
497 $ sqrt( abs( a( i-1, i-1 )*a( i, i ) ) )
498 IF( temp1.GT.half )
THEN
499 a( i-1, i ) = half*sqrt( abs( a( i-1, i-1 )*a( i,
501 a( i, i-1 ) = a( i-1, i )
504 CALL pcelset( copya, ngen+1, ngen+1, desca, a( 1, 1 ) )
506 CALL pcelset( copya, ngen+i, ngen+i, desca,
508 CALL pcelset( copya, ngen+i-1, ngen+i, desca,
510 CALL pcelset( copya, ngen+i, ngen+i-1, desca,
518 ELSE IF( itype.EQ.11 )
THEN
527 in =
min( j, n-ngen )
529 rwork( indd+ngen+i ) = temp1
538 CALL pcfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
539 $ sizetms, iprepad, ipostpad, padval+4.0e+0 )
541 CALL pclatms( n, n,
'S', iseed,
'S', rwork( indd ), imode,
542 $ cond, anorm, 0, 0,
'N', copya, 1, 1, desca,
543 $ order, work( indwork+iprepad ), sizetms,
546 CALL pcchekpad( desca( ctxt_ ),
'PCLATMS4-WORK', sizetms, 1,
547 $ work( indwork ), sizetms, iprepad, ipostpad,
560 $
CALL slasrt(
'I', n, rwork( indd ), iinfo )
564 CALL pcfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
565 $ sizetms, iprepad, ipostpad, padval+3.3e+0 )
571 iseed( 4 ) = mod( iseed( 4 )+257, 4096 )
572 iseed( 3 ) = mod( iseed( 3 )+192, 4096 )
573 iseed( 2 ) = mod( iseed( 2 )+35, 4096 )
574 iseed( 1 ) = mod( iseed( 1 )+128, 4096 )
575 CALL pclatms( n, n,
'S', iseed,
'P', rwork( indd ), 3, ten,
576 $ anorm, n, n,
'N', copyb, 1, 1, desca, order,
577 $ work( indwork+iprepad ), sizetms, iinfo )
579 CALL pcchekpad( desca( ctxt_ ),
'PCLATMS5-WORK', sizetms, 1,
580 $ work( indwork ), sizetms, iprepad, ipostpad,
592 $ iseed, rwork( indd ), maxsize, vecsize,
595 lheevxsize =
min( maxsize, lrwork )
598 CALL pcgsepsubtst( wknown, ibtype,
'v',
'a', uplo, n, vl, vu,
599 $ il, iu, thresh, abstol, a, copya, b, copyb,
600 $ z, 1, 1, desca, rwork( indd ), win, ifail,
601 $ iclustr, gap, iprepad, ipostpad,
602 $ work( indwork ), llwork, rwork( indrwork ),
603 $ llrwork, lheevxsize, iwork, isizeheevx, res,
604 $ tstnrm, qtqnrm, nout )
611 IF( thresh.LE.zero )
THEN
614 ELSE IF( res.NE.0 )
THEN
620 IF( thresh.GT.zero .AND. lsame( subtests,
'Y' ) )
THEN
629 $ iseed, win( 1+iprepad ), maxsize,
634 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
635 $ vu, il, iu, thresh, abstol, a, copya, b,
636 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
637 $ wnew, ifail, iclustr, gap, iprepad,
638 $ ipostpad, work( indwork ), llwork, rwork,
639 $ lrwork, lheevxsize, iwork, isizeheevx,
640 $ res, tstnrm, qtqnrm, nout )
643 passed =
'FAILED stest 1'
644 maxtstnrm =
max( tstnrm, maxtstnrm )
645 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
656 $ iseed, win( 1+iprepad ), maxsize,
659 lheevxsize = vecsize + int( slaran( iseed )*
660 $ real( maxsize-vecsize ) )
662 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
663 $ vu, il, iu, thresh, abstol, a, copya, b,
664 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
665 $ wnew, ifail, iclustr, gap, iprepad,
666 $ ipostpad, work( indwork ), llwork, rwork,
667 $ lrwork, lheevxsize, iwork, isizeheevx,
668 $ res, tstnrm, qtqnrm, nout )
671 passed =
'FAILED stest 2'
672 maxtstnrm =
max( tstnrm, maxtstnrm )
673 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
685 $ iseed, win( 1+iprepad ), maxsize,
689 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
690 $ vu, il, iu, thresh, abstol, a, copya, b,
691 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
692 $ wnew, ifail, iclustr, gap, iprepad,
693 $ ipostpad, work( indwork ), llwork, rwork,
694 $ lrwork, lheevxsize, iwork, isizeheevx,
695 $ res, tstnrm, qtqnrm, nout )
698 maxtstnrm =
max( tstnrm, maxtstnrm )
699 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
700 passed =
'FAILED stest 3'
717 $ iseed, win( 1+iprepad ), maxsize,
722 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
723 $ vu, il, iu, thresh, abstol, a, copya, b,
724 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
725 $ wnew, ifail, iclustr, gap, iprepad,
726 $ ipostpad, work( indwork ), llwork
728 $ res, tstnrm, qtqnrm, nout )
731 maxtstnrm =
max( tstnrm, maxtstnrm )
732 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
733 passed =
'FAILED stest 4'
750 $ iseed, win( 1+iprepad ), maxsize,
755 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
756 $ vu, il, iu, thresh, abstol, a, copya, b,
757 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
758 $ wnew, ifail, iclustr, gap, iprepad,
759 $ ipostpad, work( indwork ), llwork, rwork,
760 $ lrwork, lheevxsize, iwork, isizeheevx,
761 $ res, tstnrm, qtqnrm, nout )
764 maxtstnrm =
max( tstnrm, maxtstnrm )
765 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
766 passed =
'FAILED stest 5'
782 $ iseed, win( 1+iprepad ), maxsize,
787 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
788 $ vu, il, iu, thresh, abstol, a, copya, b,
789 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
790 $ wnew, ifail, iclustr, gap, iprepad,
791 $ ipostpad, work( indwork ), llwork, rwork,
792 $ lrwork, lheevxsize, iwork, isizeheevx,
793 $ res, tstnrm, qtqnrm, nout )
796 maxtstnrm =
max( tstnrm, maxtstnrm )
797 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
798 passed =
'FAILED stest 6'
814 $ iseed, win( 1+iprepad ), maxsize,
816 lheevxsize = vecsize + int( slaran( iseed )*
817 $ real( maxsize-vecsize ) )
819 CALL pcgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
820 $ vu, il, iu, thresh, abstol, a, copya, b,
821 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
822 $ wnew, ifail, iclustr, gap, iprepad,
823 $ ipostpad, work( indwork ), llwork, rwork,
824 $ lrwork, lheevxsize, iwork, isizeheevx,
825 $ res, tstnrm, qtqnrm, nout )
828 maxtstnrm =
max( tstnrm, maxtstnrm )
829 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
830 passed =
'FAILED stest 7'
845 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
846 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
851 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
852 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
853 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
854 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
855 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
856 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
857 $ RES, TSTNRM, QTQNRM, NOUT )
860 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
861 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
862 PASSED = 'failed
stest 8
'
877 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
878 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
883 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
884 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
885 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
886 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
887 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
888 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
889 $ RES, TSTNRM, QTQNRM, NOUT )
892 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
893 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
894 PASSED = 'failed
stest 9
'
910 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
911 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
916 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
917 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
918 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
919 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
920 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
921 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
922 $ RES, TSTNRM, QTQNRM, NOUT )
925 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
926 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
927 PASSED = 'failed stest10
'
944 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
945 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
949 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
950 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
951 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
952 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
953 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
954 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
955 $ RES, TSTNRM, QTQNRM, NOUT )
958 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
959 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
960 PASSED = 'failed stest11
'
976 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
977 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
982 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
983 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
984 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
985 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
986 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
987 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
988 $ RES, TSTNRM, QTQNRM, NOUT )
991 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
992 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
993 PASSED = 'failed stest12
'
1002.EQ.
IF( INFO0 ) THEN
1010 CALL PCLASIZEHEEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
1011 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
1012 $ VECSIZE, VALSIZE )
1015 CALL PCGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
1016 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
1017 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
1018 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
1019 $ IPOSTPAD, WORK( INDWORK ), LLWORK, RWORK,
1020 $ LRWORK, LHEEVXSIZE, IWORK, ISIZEHEEVX,
1021 $ RES, TSTNRM, QTQNRM, NOUT )
1024 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
1025 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
1026 PASSED = 'failed stest13
'
1034 CALL IGAMX2D( CONTEXT, 'all
', ' ', 1, 1, INFO, 1, -1, -1, -1, -1,
1037.EQ.
IF( INFO1 ) THEN
1039 WRITE( NOUT, FMT = 9994 )'c
'
1040 WRITE( NOUT, FMT = 9993 )ISEEDIN( 1 )
1041 WRITE( NOUT, FMT = 9992 )ISEEDIN( 2 )
1042 WRITE( NOUT, FMT = 9991 )ISEEDIN( 3 )
1043 WRITE( NOUT, FMT = 9990 )ISEEDIN( 4 )
1044 IF( LSAME( UPLO, 'l
' ) ) THEN
1045 WRITE( NOUT, FMT = 9994 )' uplo=
''l
'' '
1047 WRITE( NOUT, FMT = 9994 )' uplo=
''u
'' '
1049 IF( LSAME( SUBTESTS, 'y
' ) ) THEN
1050 WRITE( NOUT, FMT = 9994 )' subtests=
''y
'' '
1052 WRITE( NOUT, FMT = 9994 )' subtests=
''n
'' '
1054 WRITE( NOUT, FMT = 9989 )N
1055 WRITE( NOUT, FMT = 9988 )NPROW
1056 WRITE( NOUT, FMT = 9987 )NPCOL
1057 WRITE( NOUT, FMT = 9986 )NB
1058 WRITE( NOUT, FMT = 9985 )MATTYPE
1059 WRITE( NOUT, FMT = 9984 )IBTYPE
1060 WRITE( NOUT, FMT = 9982 )ABSTOL
1061 WRITE( NOUT, FMT = 9981 )THRESH
1062 WRITE( NOUT, FMT = 9994 )'c
'
1066 CALL SLCOMBINE( CONTEXT, 'all
', '>
', 'w
', 6, 1, WTIME )
1067 CALL SLCOMBINE( CONTEXT, 'all
', '>
', 'c
', 6, 1, CTIME )
1069.EQ..OR..EQ.
IF( INFO0 INFO1 ) THEN
1070.GE.
IF( WTIME( 1 )0.0 ) THEN
1071 WRITE( NOUT, FMT = 9999 )N, NB, NPROW, NPCOL, MATTYPE,
1072 $ IBTYPE, SUBTESTS, WTIME( 1 ), CTIME( 1 ), MAXTSTNRM,
1075 WRITE( NOUT, FMT = 9998 )N, NB, NPROW, NPCOL, MATTYPE,
1076 $ IBTYPE, SUBTESTS, CTIME( 1 ), MAXTSTNRM, PASSED
1078.EQ.
ELSE IF( INFO2 ) THEN
1079.GE.
IF( WTIME( 1 )0.0 ) THEN
1080 WRITE( NOUT, FMT = 9997 )N, NB, NPROW, NPCOL, MATTYPE,
1081 $ IBTYPE, SUBTESTS, WTIME( 1 ), CTIME( 1 )
1083 WRITE( NOUT, FMT = 9996 )N, NB, NPROW, NPCOL, MATTYPE,
1084 $ IBTYPE, SUBTESTS, CTIME( 1 )
1086.EQ.
ELSE IF( INFO3 ) THEN
1087 WRITE( NOUT, FMT = 9995 )N, NB, NPROW, NPCOL, MATTYPE,
1095 9999 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1096 $ 1X, F8.2, 1X, F8.2, 1X, G9.2, 1X, A14 )
1097 9998 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1098 $ 1X, 8X, 1X, F8.2, 1X, G9.2, A14 )
1099 9997 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1100 $ 1X, F8.2, 1X, F8.2, 11X, 'bypassed
' )
1101 9996 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1102 $ 1X, 8X, 1X, F8.2, 11X, 'bypassed
' )
1103 9995 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1104 $ 22X, 'bad memory parameters
' )
1106 9993 FORMAT( ' iseed( 1 ) =
', I8 )
1107 9992 FORMAT( ' iseed( 2 ) =
', I8 )
1108 9991 FORMAT( ' iseed( 3 ) =
', I8 )
1109 9990 FORMAT( ' iseed( 4 ) =
', I8 )
1110 9989 FORMAT( ' n=
', I8 )
1111 9988 FORMAT( ' nprow=
', I8 )
1112 9987 FORMAT( ' npcol=
', I8 )
1113 9986 FORMAT( ' nb=
', I8 )
1114 9985 FORMAT( ' mattype=
', I8 )
1115 9984 FORMAT( ' ibtype=
', I8 )
1116 9983 FORMAT( ' subtests=
', A1 )
1117 9982 FORMAT( ' abstol=
', D16.6 )
1118 9981 FORMAT( ' thresh=
', D16.6 )