3 SUBROUTINE psgseptst( 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, IWORK,
15 CHARACTER SUBTESTS, UPLO
16 INTEGER IBTYPE, INFO, IPOSTPAD, IPREPAD, LDA, LIWORK,
17 $ LWORK, MATTYPE, N, NOUT,
21 INTEGER DESCA( * ), ICLUSTR( * ), IFAIL( * ),
22 $ iseed( 4 ), iwork( * )
23 REAL A( LDA, * ), B( LDA, * ), COPYA( LDA, * ),
24 $ COPYB( LDA, * ), GAP( * ), WIN( * ), WNEW( * ),
25 $ work( * ), z( lda, * )
212 INTEGER BLOCK_CYCLIC_2D, DLEN_, DTYPE_, CTXT_, M_, N_,
213 $ MB_, NB_, RSRC_, CSRC_, LLD_
214 PARAMETER ( BLOCK_CYCLIC_2D = 1, dlen_ = 9, dtype_ = 1,
215 $ ctxt_ = 2, m_ = 3, n_ = 4, mb_ = 5, nb_ = 6,
216 $ rsrc_ = 7, csrc_ = 8, lld_ = 9 )
217 REAL ZERO, ONE, TEN, HALF
218 parameter( zero = 0.0e+0, one = 1.0e+0, ten = 10.0e+0,
221 parameter( padval = 19.25e+0 )
223 PARAMETER ( MAXTYP = 22 )
230 INTEGER CONTEXT, I, IAM, IINFO, IL, IMODE, IN, INDD,
231 $ indwork, isizesubtst, isizesyevx, isizetst,
232 $ itype, iu, j, llwork, lsyevxsize, maxsize,
233 $ mycol, myrow, nb, ngen, nloc, nnodes, np,
234 $ npcol, nprow, nq, res, sizechk, sizemqrleft,
235 $ sizemqrright, sizeqrf, sizeqtq, sizesubtst,
236 $ sizesyevx, sizetms, sizetst, valsize, vecsize
237 REAL ANINV, ANORM, COND, MAXQTQNRM, MAXTSTNRM, OVFL,
238 $ QTQNRM, RTOVFL, RTUNFL, TEMP1, TSTNRM, ULP,
239 $ ULPINV, UNFL, VL, VU
242 INTEGER ISEEDIN( 4 ), KMAGN( MAXTYP ), KMODE( MAXTYP ),
244 DOUBLE PRECISION CTIME( 10 ), WTIME(
250 EXTERNAL LSAME, NUMROC, , SLARAN
260 INTRINSIC abs, int,
max,
min, mod, real, sqrt
263 DATA ktype / 1, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 8,
264 $ 8, 8, 9, 9, 9, 9, 9, 10, 11 /
265 DATA kmagn / 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1,
266 $ 2, 3, 1, 1, 1, 2, 3, 1, 1 /
267 DATA kmode / 0, 0, 4, 3, 1, 4, 4, 4, 3, 1, 4, 4, 0,
268 $ 0, 0, 4, 3, 1, 4, 4, 3, 0 /
272 IF( block_cyclic_2d*csrc_*ctxt_*dlen_*dtype_*lld_*mb_*m_*nb_*n_*
277 context = desca( ctxt_ )
280 CALL blacs_pinfo( iam, nnodes )
287 CALL pslasizegsep( desca, iprepad, ipostpad, sizemqrleft,
288 $ sizemqrright, sizeqrf, sizetms, sizeqtq,
289 $ sizechk, sizesyevx, isizesyevx, sizesubtst,
290 $ isizesubtst, sizetst, isizetst )
292 IF( lwork.LT.sizetst )
THEN
296 CALL igamx2d( context,
'a',
' ', 1, 1, info, 1, 1, 1, -1, -1, 0 )
302 llwork = lwork - indwork + 1
304 ulp = pslamch( context,
'P' )
306 unfl = pslamch( context,
'Safe min' )
309 rtunfl = sqrt( unfl )
310 rtovfl = sqrt( ovfl )
311 aninv = one / real(
max( 1, n ) )
315 IF( myrow.EQ.0 .AND. mycol.EQ.0 )
THEN
316 CALL igebs2d( context,
'a',
' ', 4, 1, iseed, 4 )
318 CALL igebr2d( context,
'a',
' '
320 iseedin( 1 ) = iseed( 1 )
321 iseedin( 2 ) = iseed( 2 )
322 iseedin( 3 ) = iseed( 3 )
323 iseedin( 4 ) = iseed( 4 )
342 itype = ktype( mattype )
343 imode = kmode( mattype )
347 GO TO ( 10, 20, 30 )kmagn( mattype )
354 anorm = ( rtovfl*ulp )*aninv
358 anorm = rtunfl*n*ulpinv
362 IF( mattype.LE.15 )
THEN
365 cond = ulpinv*aninv / ten
373 IF( itype.EQ.1 )
THEN
378 work( indd+i-1 ) = zero
380 CALL pslaset(
'All', n, n, zero, zero, copya, 1, 1, desca )
383 ELSE IF( itype.EQ.2 )
THEN
388 work( indd+i-1 ) = one
390 CALL pslaset(
'All', n, n, zero, one, copya, 1, 1, desca )
393 ELSE IF( itype.EQ.4 )
THEN
397 CALL psfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
398 $ sizetms, iprepad, ipostpad, padval+1.0e+0 )
400 CALL pslatms( n, n,
'S', iseed,
'S', work( indd ), imode,
401 $ cond, anorm, 0, 0,
'N', copya, 1, 1, desca,
402 $ order, work( indwork+iprepad ), sizetms,
406 CALL pschekpad( desca( ctxt_ ),
'PSLATMS1-WORK', sizetms, 1,
407 $ work( indwork ), sizetms, iprepad, ipostpad,
410 ELSE IF( itype.EQ.5 )
THEN
414 CALL psfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
415 $ sizetms, iprepad, ipostpad, padval+2.0e+0 )
417 CALL pslatms( n, n,
'S', iseed,
'S', work( indd ), imode,
418 $ cond, anorm, n, n,
'N', copya, 1, 1, desca,
419 $ order, work( indwork+iprepad ), sizetms,
422 CALL pschekpad( desca( ctxt_ ),
'PSLATMS2-WORK', sizetms, 1,
423 $ work( indwork ), sizetms, iprepad, ipostpad,
428 ELSE IF( itype.EQ.8 )
THEN
432 np = numroc( n, desca( mb_ ), myrow, 0, nprow )
433 nq = numroc( n, desca( nb_ ), mycol, 0, npcol )
434 CALL psmatgen( desca( ctxt_ ),
'S',
'N', n, n, desca( mb_ ),
435 $ desca( nb_ ), copya, desca( lld_ ),
436 $ desca( rsrc_ ), desca( csrc_ ), iseed( 1 ),
437 $ 0, np, 0, nq, myrow, mycol, nprow, npcol )
441 ELSE IF( itype.EQ.9 )
THEN
446 CALL psfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
447 $ sizetms, iprepad, ipostpad, padval+3.0e+0 )
449 CALL pslatms( n, n,
'S', iseed,
'S', work( indd ), imode,
450 $ cond, anorm, n, n,
'N', copya, 1, 1, desca
451 $ order, work( indwork+iprepad ), sizetms,
456 CALL pschekpad( desca( ctxt_ ),
'PSLATMS3-WORK', sizetms, 1,
457 $ work( indwork ), sizetms, iprepad, ipostpad,
460 ELSE IF( itype.EQ.10 )
THEN
465 CALL pslaset(
'All', n, n, zero, zero, copya, 1, 1, desca )
466 np = numroc( n, desca( mb_ ), 0, 0, nprow )
467 nq = numroc( n, desca( nb_ ), 0, 0, npcol )
473 in =
min( 1+int( slaran( iseed )*real( nloc ) ), n-ngen )
475 CALL slatms( in, in,
'S', iseed,
'P', work( indd ),
476 $ imode, cond, anorm, 1, 1,
'N', a, lda,
477 $ work( indwork ), iinfo )
480 temp1 = abs( a( i-1, i ) ) /
481 $ sqrt( abs( a( i-1, i-1 )*a( i, i ) ) )
482 IF( temp1.GT.half )
THEN
483 a( i-1, i ) = half*sqrt( abs( a( i-1, i-1 )*a( i,
485 a( i, i-1 ) = a( i-1, i )
488 CALL pselset( copya, ngen+1, ngen+1, desca, a( 1, 1 ) )
490 CALL pselset( copya, ngen+i, ngen+i, desca,
492 CALL pselset( copya, ngen+i-1, ngen+i, desca,
494 CALL pselset( copya, ngen+i, ngen+i-1, desca,
502 ELSE IF( itype.EQ.11 )
THEN
511 in =
min( j, n-ngen )
513 work( indd+ngen+i ) = temp1
522 CALL psfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
523 $ sizetms, iprepad, ipostpad, padval+4.0e+0 )
525 CALL pslatms( n, n,
'S', iseed,
'S', work( indd ), imode,
526 $ cond, anorm, 0, 0,
'N', copya, 1, 1, desca,
527 $ order, work( indwork+iprepad ), sizetms,
530 CALL pschekpad( desca( ctxt_ ),
'PSLATMS4-WORK', sizetms
531 $ work( indwork ), sizetms, iprepad, ipostpad,
543 $
CALL slasrt(
'I', n, work( indd ), iinfo )
547 CALL psfillpad( desca( ctxt_ ), sizetms, 1, work( indwork ),
548 $ sizetms, iprepad, ipostpad, padval+3.3e+0 )
554 iseed( 4 ) = mod( iseed( 4 )+257, 4096 )
555 iseed( 3 ) = mod( iseed( 3 )+192, 4096 )
556 iseed( 2 ) = mod( iseed( 2 )+35, 4096 )
557 iseed( 1 ) = mod( iseed( 1 )+128, 4096 )
558 CALL pslatms( n, n,
'S', iseed,
'P', work( indd ), 3, ten,
559 $
'N', copyb, 1, 1, desca, order,
560 $ work( indwork+iprepad ), sizetms, iinfo )
562 CALL pschekpad( desca( ctxt_ ), 'pslatms5-work
', SIZETMS, 1,
563 $ WORK( INDWORK ), SIZETMS, IPREPAD, IPOSTPAD,
574 CALL PSLASIZESYEVX( WKNOWN, 'a
', N, DESCA, VL, VU, IL, IU,
575 $ ISEED, WORK( INDD ), MAXSIZE, VECSIZE,
578 LSYEVXSIZE = MIN( MAXSIZE, LWORK )
581 CALL PSGSEPSUBTST( WKNOWN, IBTYPE, 'v
', 'a
', UPLO, N, VL, VU,
582 $ IL, IU, THRESH, ABSTOL, A, COPYA, B, COPYB,
583 $ Z, 1, 1, DESCA, WORK( INDD ), WIN, IFAIL,
584 $ ICLUSTR, GAP, IPREPAD, IPOSTPAD,
585 $ WORK( INDWORK ), LLWORK, LSYEVXSIZE, IWORK,
586 $ ISIZESYEVX, RES, TSTNRM, QTQNRM, NOUT )
593.LE.
IF( THRESHZERO ) THEN
596.NE.
ELSE IF( RES0 ) THEN
602.GT..AND.
IF( THRESHZERO LSAME( SUBTESTS, 'y
' ) ) THEN
610 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
611 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
616 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
617 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
618 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
619 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
620 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
621 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
622 $ TSTNRM, QTQNRM, NOUT )
625 PASSED = 'failed
stest 1
'
626 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
627 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
637 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
638 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
641 LSYEVXSIZE = VECSIZE + INT( SLARAN( ISEED )*
642 $ REAL( MAXSIZE-VECSIZE ) )
644 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
645 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
646 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
647 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
648 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
649 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
650 $ TSTNRM, QTQNRM, NOUT )
653 PASSED = 'failed
stest 2
'
654 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
655 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
666 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
667 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
671 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
672 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
673 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
674 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
675 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
676 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
677 $ TSTNRM, QTQNRM, NOUT )
680 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
681 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
682 PASSED = 'failed
stest 3
'
698 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
699 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
704 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
705 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
706 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
707 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
708 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
709 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
710 $ TSTNRM, QTQNRM, NOUT )
713 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
714 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
715 PASSED = 'failed
stest 4
'
731 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
732 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
737 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
738 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
739 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
740 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
741 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
742 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
743 $ TSTNRM, QTQNRM, NOUT )
746 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
747 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
748 PASSED = 'failed
stest 5
'
763 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
764 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
769 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
770 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
771 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
772 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
773 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
774 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
775 $ TSTNRM, QTQNRM, NOUT )
778 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
779 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
780 PASSED = 'failed
stest 6
'
795 CALL PSLASIZESYEVX( .TRUE., RANGE, N, DESCA, VL, VU, IL, IU,
796 $ ISEED, WIN( 1+IPREPAD ), MAXSIZE,
798 LSYEVXSIZE = VECSIZE + INT( SLARAN( ISEED )*
799 $ REAL( MAXSIZE-VECSIZE ) )
801 CALL PSGSEPSUBTST( .TRUE., IBTYPE, JOBZ, RANGE, UPLO, N, VL,
802 $ VU, IL, IU, THRESH, ABSTOL, A, COPYA, B,
803 $ COPYB, Z, 1, 1, DESCA, WIN( 1+IPREPAD ),
804 $ WNEW, IFAIL, ICLUSTR, GAP, IPREPAD,
805 $ IPOSTPAD, WORK( INDWORK ), LLWORK,
806 $ LSYEVXSIZE, IWORK, ISIZESYEVX, RES,
807 $ TSTNRM, QTQNRM, NOUT )
810 MAXTSTNRM = MAX( TSTNRM, MAXTSTNRM )
811 MAXQTQNRM = MAX( QTQNRM, MAXQTQNRM )
812 PASSED = 'failed
stest 7'
828 $ iseed, win( 1+iprepad ), maxsize,
833 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
834 $ vu, il, iu, thresh, abstol, a, copya, b,
835 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
836 $ wnew, ifail, iclustr, gap, iprepad,
837 $ ipostpad, work( indwork ), llwork
838 $ lsyevxsize, iwork, isizesyevx, res,
839 $ tstnrm, qtqnrm, nout )
842 maxtstnrm =
max( tstnrm, maxtstnrm )
843 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
844 passed =
'FAILED stest 8'
860 $ iseed, win( 1+iprepad ), maxsize,
865 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
866 $ vu, il, iu, thresh, abstol, a, copya, b,
867 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
868 $ wnew, ifail, iclustr, gap, iprepad,
869 $ ipostpad, work( indwork ), llwork,
870 $ lsyevxsize, iwork, isizesyevx, res,
871 $ tstnrm, qtqnrm, nout
874 maxtstnrm =
max( tstnrm, maxtstnrm )
875 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
876 passed =
'FAILED stest 9'
893 $ iseed, win( 1+iprepad ), maxsize,
898 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
899 $ vu, il, iu, thresh, abstol, a, copya, b,
900 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
901 $ wnew, ifail, iclustr, gap, iprepad,
902 $ ipostpad, work( indwork ), llwork,
903 $ lsyevxsize, iwork, isizesyevx, res,
904 $ tstnrm, qtqnrm, nout )
907 maxtstnrm =
max( tstnrm, maxtstnrm )
908 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
909 passed =
'FAILED stest10'
927 $ iseed, win( 1+iprepad ), maxsize,
930 lsyevxsize = vecsize + int( slaran( iseed )*
931 $ real( maxsize-vecsize ) )
933 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
934 $ vu, il, iu, thresh, abstol, a, copya, b,
935 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
936 $ wnew, ifail, iclustr, gap, iprepad,
937 $ ipostpad, work( indwork ), llwork,
938 $ lsyevxsize, iwork, isizesyevx, res,
939 $ tstnrm, qtqnrm, nout )
942 maxtstnrm =
max( tstnrm, maxtstnrm )
943 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
944 passed =
'FAILED stest11'
961 $ iseed, win( 1+iprepad ), maxsize,
966 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
967 $ vu, il, iu, thresh, abstol, a, copya, b,
968 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
969 $ wnew, ifail, iclustr, gap
970 $ ipostpad, work( indwork ), llwork,
971 $ lsyevxsize, iwork, isizesyevx, res,
972 $ tstnrm, qtqnrm, nout )
975 maxtstnrm =
max( tstnrm, maxtstnrm )
976 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
977 passed =
'FAILED stest12'
995 $ iseed, win( 1+iprepad
998 lsyevxsize = valsize + int( slaran( iseed )*
999 $ real( vecsize-valsize ) )
1001 CALL psgsepsubtst( .true., ibtype, jobz, range, uplo, n, vl,
1002 $ vu, il, iu, thresh, abstol, a, copya, b,
1003 $ copyb, z, 1, 1, desca, win( 1+iprepad ),
1004 $ wnew, ifail, iclustr, gap, iprepad,
1005 $ ipostpad, work( indwork ), llwork,
1006 $ lsyevxsize, iwork, isizesyevx, res,
1007 $ tstnrm, qtqnrm, nout )
1010 maxtstnrm =
max( tstnrm, maxtstnrm )
1011 maxqtqnrm =
max( qtqnrm, maxqtqnrm )
1012 passed =
'FAILED stest13'
1020 CALL igamx2d( context,
'All',
' ', 1, 1, info, 1, -1, -1, -1, -1,
1023 IF( info.EQ.1 )
THEN
1025 WRITE( nout, fmt = 9994 )
'C '
1027 WRITE( nout, fmt = 9992 )iseedin( 2 )
1028 WRITE( nout, fmt = 9991 )iseedin( 3 )
1029 WRITE( nout, fmt = 9990 )iseedin( 4 )
1030 IF( lsame( uplo,
'L' ) )
THEN
1031 WRITE( nout, fmt = 9994 )
' UPLO= ''L'' '
1033 WRITE( nout, fmt = 9994 )
' UPLO= ''U'' '
1035 IF( lsame( subtests,
'Y' ) )
THEN
1036 WRITE( nout, fmt = 9994 )
' SUBTESTS= ''Y'' '
1038 WRITE( nout, fmt = 9994 )
' SUBTESTS= ''N'' '
1040 WRITE( nout, fmt = 9989 )n
1041 WRITE( nout, fmt = 9988 )nprow
1042 WRITE( nout, fmt = 9987 )npcol
1043 WRITE( nout, fmt = 9986 )nb
1044 WRITE( nout, fmt = 9985 )mattype
1045 WRITE( nout, fmt = 9984 )ibtype
1046 WRITE( nout, fmt = 9982 )abstol
1047 WRITE( nout, fmt = 9981 )thresh
1048 WRITE( nout, fmt = 9994 )
'C '
1052 CALL slcombine( context,
'All',
'>',
'W', 6, 1, wtime )
1053 CALL slcombine( context,
'All', '>
', 'c
', 6, 1, CTIME )
1055.EQ..OR..EQ.
IF( INFO0 INFO1 ) THEN
1056.GE.
IF( WTIME( 1 )0.0 ) THEN
1057 WRITE( NOUT, FMT = 9999 )N, NB, NPROW, NPCOL, MATTYPE,
1058 $ IBTYPE, SUBTESTS, WTIME( 1 ), CTIME( 1 ), MAXTSTNRM,
1061 WRITE( NOUT, FMT = 9998 )N, NB, NPROW, NPCOL, MATTYPE,
1062 $ IBTYPE, SUBTESTS, CTIME( 1 ), MAXTSTNRM, PASSED
1064.EQ.
ELSE IF( INFO2 ) THEN
1065.GE.
IF( WTIME( 1 )0.0 ) THEN
1066 WRITE( NOUT, FMT = 9997 )N, NB, NPROW, NPCOL, MATTYPE,
1067 $ IBTYPE, SUBTESTS, WTIME( 1 ), CTIME( 1 )
1069 WRITE( NOUT, FMT = 9996 )N, NB, NPROW, NPCOL, MATTYPE,
1070 $ IBTYPE, SUBTESTS, CTIME( 1 )
1072.EQ.
ELSE IF( INFO3 ) THEN
1073 WRITE( NOUT, FMT = 9995 )N, NB, NPROW, NPCOL, MATTYPE,
1081 9999 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1082 $ 1X, F8.2, 1X, F8.2, 1X, G9.2, 1X, A14 )
1083 9998 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1084 $ 1X, 8X, 1X, F8.2, 1X, G9.2, A14 )
1085 9997 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1086 $ 1X, F8.2, 1X, F8.2, 11X, 'bypassed
' )
1087 9996 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1088 $ 1X, 8X, 1X, F8.2, 11X, 'bypassed
' )
1089 9995 FORMAT( 1X, I5, 1X, I3, 1X, I3, 1X, I3, 1X, I3, 3X, I3, 4X, A1,
1090 $ 22X, 'bad memory parameters
' )
1092 9993 FORMAT( ' iseed( 1 ) =
', I8 )
1093 9992 FORMAT( ' iseed( 2 ) =
', I8 )
1094 9991 FORMAT( ' iseed( 3 ) =
', I8 )
1095 9990 FORMAT( ' iseed( 4 ) =
', I8 )
1096 9989 FORMAT( ' n=
', I8 )
1097 9988 FORMAT( ' nprow=
', I8 )
1098 9987 FORMAT( ' npcol=
', I8 )
1099 9986 FORMAT( ' nb=
', I8 )
1100 9985 FORMAT( ' mattype=
', I8 )
1101 9984 FORMAT( ' ibtype=
', I8 )
1102 9983 FORMAT( ' subtests=
', A1 )
1103 9982 FORMAT( ' abstol=
', D16.6 )
1104 9981 FORMAT( ' thresh=
', D16.6 )