2023
 2024
 2025
 2026
 2027
 2028
 2029
 2030      INTEGER            INOUT, NPROCS
 2031
 2032
 2033      LOGICAL            LTEST( * )
 2034
 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      INTEGER            NSUBS
 2101      parameter( nsubs = 8 )
 2102
 2103
 2104      LOGICAL            ABRTSAV
 2105      INTEGER            I, ICTXT, MYCOL, MYROW, NPCOL, NPROW
 2106
 2107
 2108      INTEGER            SCODE( NSUBS )
 2109
 2110
 2111      EXTERNAL           blacs_get, blacs_gridexit, blacs_gridinfo,
 2112     $                   blacs_gridinit, 
pzdimee, pzgemv, pzgerc,
 
 2113     $                   pzgeru, pzhemv, pzher, pzher2, 
pzmatee,
 
 2115
 2116
 2117      LOGICAL            ABRTFLG
 2118      INTEGER            NOUT
 2119      CHARACTER*7        SNAMES( NSUBS )
 2120      COMMON             /snamec/snames
 2121      COMMON             /pberrorc/nout, abrtflg
 2122
 2123
 2124      DATA               scode/21, 22, 23, 23, 24, 24, 26, 27/
 2125
 2126
 2127
 2128
 2129
 2130
 2131      CALL blacs_get( -1, 0, ictxt )
 2132      CALL blacs_gridinit( ictxt, 'Row-major', 1, nprocs )
 2133      CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
 2134
 2135
 2136
 2137
 2138
 2139      abrtsav = abrtflg
 2140      abrtflg = .false.
 2141      nout    = inout
 2142
 2143
 2144
 2145      i = 1
 2146      IF( ltest( i ) ) THEN
 2147         CALL pzoptee( ictxt, nout, pzgemv, scode( i ), snames( i ) )
 
 2148         CALL pzdimee( ictxt, nout, pzgemv, scode( i ), snames( i ) )
 
 2149         CALL pzmatee( ictxt, nout, pzgemv, scode( i ), snames( i ) )
 
 2150         CALL pzvecee( ictxt, nout, pzgemv, scode( i ), snames( i ) )
 
 2151      END IF
 2152
 2153
 2154
 2155      i = i + 1
 2156      IF( ltest( i ) ) THEN
 2157         CALL pzoptee( ictxt, nout, pzhemv, scode( i ), snames( i ) )
 
 2158         CALL pzdimee( ictxt, nout, pzhemv, scode( i ), snames( i ) )
 
 2159         CALL pzmatee( ictxt, nout, pzhemv, scode( i ), snames( i ) )
 
 2160         CALL pzvecee( ictxt, nout, pzhemv, scode( i ), snames( i ) )
 
 2161      END IF
 2162
 2163
 2164
 2165      i = i + 1
 2166      IF( ltest( i ) ) THEN
 2167         CALL pzoptee( ictxt, nout, pztrmv, scode( i ), snames( i ) )
 
 2168         CALL pzdimee( ictxt, nout, pztrmv, scode( i ), snames( i ) )
 
 2169         CALL pzmatee( ictxt, nout, pztrmv, scode( i ), snames( i ) )
 
 2170         CALL pzvecee( ictxt, nout, pztrmv, scode( i ), snames( i ) )
 
 2171      END IF
 2172
 2173
 2174
 2175      i = i + 1
 2176      IF( ltest( i ) ) THEN
 2177         CALL pzoptee( ictxt, nout, pztrsv, scode( i ), snames( i ) )
 
 2178         CALL pzdimee( ictxt, nout, pztrsv, scode( i ), snames( i ) )
 
 2179         CALL pzmatee( ictxt, nout, pztrsv, scode( i ), snames( i ) )
 
 2180         CALL pzvecee( ictxt, nout, pztrsv, scode( i ), snames( i ) )
 
 2181      END IF
 2182
 2183
 2184
 2185      i = i + 1
 2186      IF( ltest( i ) ) THEN
 2187         CALL pzdimee( ictxt, nout, pzgeru, scode( i ), snames( i ) )
 
 2188         CALL pzvecee( ictxt, nout, pzgeru, scode( i ), snames( i ) )
 
 2189         CALL pzmatee( ictxt, nout, pzgeru, scode( i ), snames( i ) )
 
 2190      END IF
 2191
 2192
 2193
 2194      i = i + 1
 2195      IF( ltest( i ) ) THEN
 2196         CALL pzdimee( ictxt, nout, pzgerc, scode( i ), snames( i ) )
 
 2197         CALL pzvecee( ictxt, nout, pzgerc, scode( i ), snames( i ) )
 
 2198         CALL pzmatee( ictxt, nout, pzgerc, scode( i ), snames( i ) )
 
 2199      END IF
 2200
 2201
 2202
 2203      i = i + 1
 2204      IF( ltest( i ) ) THEN
 2205         CALL pzoptee( ictxt, nout, pzher, scode( i ), snames( i ) )
 
 2206         CALL pzdimee( ictxt, nout, pzher, scode( i ), snames( i ) )
 
 2207         CALL pzvecee( ictxt, nout, pzher, scode( i ), snames( i ) )
 
 2208         CALL pzmatee( ictxt, nout, pzher, scode( i ), snames( i ) )
 
 2209      END IF
 2210
 2211
 2212
 2213      i = i + 1
 2214      IF( ltest( i ) ) THEN
 2215         CALL pzoptee( ictxt, nout, pzher2, scode( i ), snames( i ) )
 
 2216         CALL pzdimee( ictxt, nout, pzher2, scode( i ), snames( i ) )
 
 2217         CALL pzvecee( ictxt, nout, pzher2, scode( i ), snames( i ) )
 
 2218         CALL pzmatee( ictxt, nout, pzher2, scode( i ), snames( i ) )
 
 2219      END IF
 2220
 2221      IF( myrow.EQ.0 .AND. mycol.EQ.0 )
 2222     $   WRITE( nout, fmt = 9999 )
 2223
 2224      CALL blacs_gridexit( ictxt )
 2225
 2226
 2227
 2228      abrtflg = abrtsav
 2229
 2230 9999 FORMAT( 2x, 'Error-exit tests completed.' )
 2231
 2232      RETURN
 2233
 2234
 2235
subroutine pzvecee(ictxt, nout, subptr, scode, sname)
 
subroutine pzmatee(ictxt, nout, subptr, scode, sname)
 
subroutine pzoptee(ictxt, nout, subptr, scode, sname)
 
subroutine pzdimee(ictxt, nout, subptr, scode, sname)