2024
 2025
 2026
 2027
 2028
 2029
 2030
 2031      INTEGER            INOUT, NPROCS
 2032
 2033
 2034      LOGICAL            LTEST( * )
 2035
 2036
 2037
 2038
 2039
 2040
 2041
 2042
 2043
 2044
 2045
 2046
 2047
 2048
 2049
 2050
 2051
 2052
 2053
 2054
 2055
 2056
 2057
 2058
 2059
 2060
 2061
 2062
 2063
 2064
 2065
 2066
 2067
 2068
 2069
 2070
 2071
 2072
 2073
 2074
 2075
 2076
 2077
 2078
 2079
 2080
 2081
 2082
 2083
 2084
 2085
 2086
 2087
 2088
 2089
 2090
 2091
 2092
 2093
 2094
 2095
 2096
 2097
 2098
 2099
 2100
 2101      INTEGER            NSUBS
 2102      parameter( nsubs = 8 )
 2103
 2104
 2105      LOGICAL            ABRTSAV
 2106      INTEGER            I, ICTXT, MYCOL, MYROW, NPCOL, NPROW
 2107
 2108
 2109      INTEGER            SCODE( NSUBS )
 2110
 2111
 2112      EXTERNAL           blacs_get, blacs_gridexit, blacs_gridinfo,
 2113     $                   blacs_gridinit, 
pcdimee, pcgemv, pcgerc,
 
 2114     $                   pcgeru, pchemv, pcher, pcher2, 
pcmatee,
 
 2116
 2117
 2118      LOGICAL            ABRTFLG
 2119      INTEGER            NOUT
 2120      CHARACTER*7        SNAMES( NSUBS )
 2121      COMMON             /snamec/snames
 2122      COMMON             /pberrorc/nout, abrtflg
 2123
 2124
 2125      DATA               scode/21, 22, 23, 23, 24, 24, 26, 27/
 2126
 2127
 2128
 2129
 2130
 2131
 2132      CALL blacs_get( -1, 0, ictxt )
 2133      CALL blacs_gridinit( ictxt, 'Row-major', 1, nprocs )
 2134      CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
 2135
 2136
 2137
 2138
 2139
 2140      abrtsav = abrtflg
 2141      abrtflg = .false.
 2142      nout    = inout
 2143
 2144
 2145
 2146      i = 1
 2147      IF( ltest( i ) ) THEN
 2148         CALL pcoptee( ictxt, nout, pcgemv, scode( i ), snames( i ) )
 
 2149         CALL pcdimee( ictxt, nout, pcgemv, scode( i ), snames( i ) )
 
 2150         CALL pcmatee( ictxt, nout, pcgemv, scode( i ), snames( i ) )
 
 2151         CALL pcvecee( ictxt, nout, pcgemv, scode( i ), snames( i ) )
 
 2152      END IF
 2153
 2154
 2155
 2156      i = i + 1
 2157      IF( ltest( i ) ) THEN
 2158         CALL pcoptee( ictxt, nout, pchemv, scode( i ), snames( i ) )
 
 2159         CALL pcdimee( ictxt, nout, pchemv, scode( i ), snames( i ) )
 
 2160         CALL pcmatee( ictxt, nout, pchemv, scode( i ), snames( i ) )
 
 2161         CALL pcvecee( ictxt, nout, pchemv, scode( i ), snames( i ) )
 
 2162      END IF
 2163
 2164
 2165
 2166      i = i + 1
 2167      IF( ltest( i ) ) THEN
 2168         CALL pcoptee( ictxt, nout, pctrmv, scode( i ), snames( i ) )
 
 2169         CALL pcdimee( ictxt, nout, pctrmv, scode( i ), snames( i ) )
 
 2170         CALL pcmatee( ictxt, nout, pctrmv, scode( i ), snames( i ) )
 
 2171         CALL pcvecee( ictxt, nout, pctrmv, scode( i ), snames( i ) )
 
 2172      END IF
 2173
 2174
 2175
 2176      i = i + 1
 2177      IF( ltest( i ) ) THEN
 2178         CALL pcoptee( ictxt, nout, pctrsv, scode( i ), snames( i ) )
 
 2179         CALL pcdimee( ictxt, nout, pctrsv, scode( i ), snames( i ) )
 
 2180         CALL pcmatee( ictxt, nout, pctrsv, scode( i ), snames( i ) )
 
 2181         CALL pcvecee( ictxt, nout, pctrsv, scode( i ), snames( i ) )
 
 2182      END IF
 2183
 2184
 2185
 2186      i = i + 1
 2187      IF( ltest( i ) ) THEN
 2188         CALL pcdimee( ictxt, nout, pcgeru, scode( i ), snames( i ) )
 
 2189         CALL pcvecee( ictxt, nout, pcgeru, scode( i ), snames( i ) )
 
 2190         CALL pcmatee( ictxt, nout, pcgeru, scode( i ), snames( i ) )
 
 2191      END IF
 2192
 2193
 2194
 2195      i = i + 1
 2196      IF( ltest( i ) ) THEN
 2197         CALL pcdimee( ictxt, nout, pcgerc, scode( i ), snames( i ) )
 
 2198         CALL pcvecee( ictxt, nout, pcgerc, scode( i ), snames( i ) )
 
 2199         CALL pcmatee( ictxt, nout, pcgerc, scode( i ), snames( i ) )
 
 2200      END IF
 2201
 2202
 2203
 2204      i = i + 1
 2205      IF( ltest( i ) ) THEN
 2206         CALL pcoptee( ictxt, nout, pcher, scode( i ), snames( i ) )
 
 2207         CALL pcdimee( ictxt, nout, pcher, scode( i ), snames( i ) )
 
 2208         CALL pcvecee( ictxt, nout, pcher, scode( i ), snames( i ) )
 
 2209         CALL pcmatee( ictxt, nout, pcher, scode( i ), snames( i ) )
 
 2210      END IF
 2211
 2212
 2213
 2214      i = i + 1
 2215      IF( ltest( i ) ) THEN
 2216         CALL pcoptee( ictxt, nout, pcher2, scode( i ), snames( i ) )
 
 2217         CALL pcdimee( ictxt, nout, pcher2, scode( i ), snames( i ) )
 
 2218         CALL pcvecee( ictxt, nout, pcher2, scode( i ), snames( i ) )
 
 2219         CALL pcmatee( ictxt, nout, pcher2, scode( i ), snames( i ) )
 
 2220      END IF
 2221
 2222      IF( myrow.EQ.0 .AND. mycol.EQ.0 )
 2223     $   WRITE( nout, fmt = 9999 )
 2224
 2225      CALL blacs_gridexit( ictxt )
 2226
 2227
 2228
 2229      abrtflg = abrtsav
 2230
 2231 9999 FORMAT( 2x, 'Error-exit tests completed.' )
 2232
 2233      RETURN
 2234
 2235
 2236
subroutine pcvecee(ictxt, nout, subptr, scode, sname)
 
subroutine pcmatee(ictxt, nout, subptr, scode, sname)
 
subroutine pcoptee(ictxt, nout, subptr, scode, sname)
 
subroutine pcdimee(ictxt, nout, subptr, scode, sname)