1495
 1496
 1497
 1498
 1499
 1500
 1501
 1502      INTEGER            INOUT, NPROCS
 1503
 1504
 1505      LOGICAL            LTEST( * )
 1506
 1507
 1508
 1509
 1510
 1511
 1512
 1513
 1514
 1515
 1516
 1517
 1518
 1519
 1520
 1521
 1522
 1523
 1524
 1525
 1526
 1527
 1528
 1529
 1530
 1531
 1532
 1533
 1534
 1535
 1536
 1537
 1538
 1539
 1540
 1541
 1542
 1543
 1544
 1545
 1546
 1547
 1548
 1549
 1550
 1551
 1552
 1553
 1554
 1555
 1556
 1557
 1558
 1559
 1560
 1561
 1562
 1563
 1564
 1565
 1566
 1567
 1568
 1569
 1570
 1571
 1572
 1573
 1574
 1575
 1576
 1577
 1578
 1579
 1580
 1581
 1582
 1583
 1584
 1585
 1586
 1587
 1588
 1589
 1590
 1591
 1592
 1593
 1594
 1595
 1596
 1597
 1598
 1599
 1600
 1601
 1602
 1603
 1604
 1605
 1606
 1607
 1608
 1609
 1610
 1611
 1612
 1613
 1614
 1615
 1616
 1617
 1618
 1619
 1620
 1621
 1622
 1623
 1624
 1625
 1626
 1627
 1628
 1629
 1630
 1631
 1632
 1633
 1634
 1635
 1636
 1637      INTEGER            NSUBS
 1638      parameter( nsubs = 10 )
 1639
 1640
 1641      LOGICAL            ABRTSAV
 1642      INTEGER            I, ICTXT, MYCOL, MYROW, NPCOL, NPROW
 1643
 1644
 1645      INTEGER            SCODE( NSUBS )
 1646
 1647
 1648      EXTERNAL           blacs_get, blacs_gridexit, blacs_gridinfo,
 1649     $                   blacs_gridinit, pdzasum, pdznrm2, pzamax,
 1650     $                   pzaxpy, pzcopy, 
pzdimee, pzdotc, pzdotu,
 
 1651     $                   pzdscal, pzscal, pzswap, 
pzvecee 
 1652
 1653
 1654      LOGICAL            ABRTFLG
 1655      INTEGER            NOUT
 1656      CHARACTER*7        SNAMES( NSUBS )
 1657      COMMON             /snamec/snames
 1658      COMMON             /pberrorc/nout, abrtflg
 1659
 1660
 1661      DATA               scode/11, 12, 12, 11, 13, 13, 13, 15, 15, 14/
 1662
 1663
 1664
 1665
 1666
 1667
 1668      CALL blacs_get( -1, 0, ictxt )
 1669      CALL blacs_gridinit( ictxt, 'Row-major', 1, nprocs )
 1670      CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
 1671
 1672
 1673
 1674
 1675
 1676      abrtsav = abrtflg
 1677      abrtflg = .false.
 1678      nout    = inout
 1679
 1680
 1681
 1682      i = 1
 1683      IF( ltest( i ) ) THEN
 1684         CALL pzdimee( ictxt, nout, pzswap, scode( i ), snames( i ) )
 
 1685         CALL pzvecee( ictxt, nout, pzswap, scode( i ), snames( i ) )
 
 1686      END IF
 1687
 1688
 1689
 1690      i = i + 1
 1691      IF( ltest( i ) ) THEN
 1692         CALL pzdimee( ictxt, nout, pzscal, scode( i ), snames( i ) )
 
 1693         CALL pzvecee( ictxt, nout, pzscal, scode( i ), snames( i ) )
 
 1694      END IF
 1695
 1696
 1697
 1698      i = i + 1
 1699      IF( ltest( i ) ) THEN
 1700         CALL pzdimee( ictxt, nout, pzdscal, scode( i ), snames( i ) )
 
 1701         CALL pzvecee( ictxt, nout, pzdscal, scode( i ), snames( i ) )
 
 1702      END IF
 1703
 1704
 1705
 1706      i = i + 1
 1707      IF( ltest( i ) ) THEN
 1708         CALL pzdimee( ictxt, nout, pzcopy, scode( i ), snames( i ) )
 
 1709         CALL pzvecee( ictxt, nout, pzcopy, scode( i ), snames( i ) )
 
 1710      END IF
 1711
 1712
 1713
 1714      i = i + 1
 1715      IF( ltest( i ) ) THEN
 1716         CALL pzdimee( ictxt, nout, pzaxpy, scode( i ), snames( i ) )
 
 1717         CALL pzvecee( ictxt, nout, pzaxpy, scode( i ), snames( i ) )
 
 1718      END IF
 1719
 1720
 1721
 1722      i = i + 1
 1723      IF( ltest( i ) ) THEN
 1724         CALL pzdimee( ictxt, nout, pzdotu, scode( i ), snames( i ) )
 
 1725         CALL pzvecee( ictxt, nout, pzdotu, scode( i ), snames( i ) )
 
 1726      END IF
 1727
 1728
 1729
 1730      i = i + 1
 1731      IF( ltest( i ) ) THEN
 1732         CALL pzdimee( ictxt, nout, pzdotc, scode( i ), snames( i ) )
 
 1733         CALL pzvecee( ictxt, nout, pzdotc, scode( i ), snames( i ) )
 
 1734      END IF
 1735
 1736
 1737
 1738      i = i + 1
 1739      IF( ltest( i ) ) THEN
 1740         CALL pzdimee( ictxt, nout, pdznrm2, scode( i ), snames( i ) )
 
 1741         CALL pzvecee( ictxt, nout, pdznrm2, scode( i ), snames( i ) )
 
 1742      END IF
 1743
 1744
 1745
 1746      i = i + 1
 1747      IF( ltest( i ) ) THEN
 1748         CALL pzdimee( ictxt, nout, pdzasum, scode( i ), snames( i ) )
 
 1749         CALL pzvecee( ictxt, nout, pdzasum, scode( i ), snames( i ) )
 
 1750      END IF
 1751
 1752
 1753
 1754      i = i + 1
 1755      IF( ltest( i ) ) THEN
 1756         CALL pzdimee( ictxt, nout, pzamax, scode( i ), snames( i ) )
 
 1757         CALL pzvecee( ictxt, nout, pzamax, scode( i ), snames( i ) )
 
 1758      END IF
 1759
 1760      IF( myrow.EQ.0 .AND. mycol.EQ.0 )
 1761     $   WRITE( nout, fmt = 9999 )
 1762
 1763      CALL blacs_gridexit( ictxt )
 1764
 1765
 1766
 1767      abrtflg = abrtsav
 1768
 1769 9999 FORMAT( 2x, 'Error-exit tests completed.' )
 1770
 1771      RETURN
 1772
 1773
 1774
subroutine pzvecee(ictxt, nout, subptr, scode, sname)
 
subroutine pzdimee(ictxt, nout, subptr, scode, sname)