8405 INTEGER NFTESTS, OUTNUM, MAXERR, NERR
8406 INTEGER IERR(*), TFAILED(*)
8407 DOUBLE PRECISION DVAL(*)
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459 INTEGER IBTMYPROC, IBTNPROCS, IBTMSGID
8461
8462
8463 LOGICAL COUNTING
8464 INTEGER K, NERR2, IAM, NPROCS, NTESTS
8465
8466
8467
8470
8471 IF( iam .EQ. 0 ) THEN
8472
8473
8474
8475
8476 counting = nftests .GT. 0
8477 IF( counting ) THEN
8478 ntests = nftests
8479 DO 10 k = 1, ntests
8480 tfailed(k) = 0
8481 10 CONTINUE
8482 END IF
8483
8484 CALL dprinterrs(outnum, maxerr, nerr, ierr, dval, counting,
8485 $ tfailed)
8486
8487 DO 20 k = 1, nprocs-1
8490 IF( nerr2 .GT. 0 ) THEN
8491 nerr = nerr + nerr2
8494 CALL dprinterrs(outnum, maxerr, nerr2, ierr, dval,
8495 $ counting, tfailed)
8496 END IF
8497 20 CONTINUE
8498
8499
8500
8501 IF( counting ) THEN
8502 nftests = 0
8503 DO 30 k = 1, ntests
8504 nftests = nftests + tfailed(k)
8505 30 CONTINUE
8506 END IF
8507
8508
8509
8510 ELSE
8513 IF( nerr .GT. 0 ) THEN
8516 END IF
8517 ENDIF
8518
8519 RETURN
8520
8521
8522
subroutine dprinterrs(outnum, maxerr, nerr, erribuf, errdbuf, counting, tfailed)
integer function ibtmsgid()
subroutine btrecv(dtype, n, buff, src, msgid)
integer function ibtnprocs()
integer function ibtmyproc()
subroutine btsend(dtype, n, buff, dest, msgid)