2295
 2296
 2297
 2298
 2299
 2300
 2301
 2302      INTEGER            INOUT, NPROCS
 2303
 2304
 2305      LOGICAL            LTEST( * )
 2306
 2307
 2308
 2309
 2310
 2311
 2312
 2313
 2314
 2315
 2316
 2317
 2318
 2319
 2320
 2321
 2322
 2323
 2324
 2325
 2326
 2327
 2328
 2329
 2330
 2331
 2332
 2333
 2334
 2335
 2336
 2337
 2338
 2339
 2340
 2341
 2342
 2343
 2344
 2345
 2346
 2347
 2348
 2349
 2350
 2351
 2352
 2353
 2354
 2355
 2356
 2357
 2358
 2359
 2360
 2361
 2362
 2363
 2364
 2365
 2366
 2367
 2368
 2369
 2370
 2371
 2372
 2373
 2374
 2375      INTEGER            NSUBS
 2376      parameter( nsubs = 11 )
 2377
 2378
 2379      LOGICAL            ABRTSAV
 2380      INTEGER            I, ICTXT, MYCOL, MYROW, NPCOL, NPROW
 2381
 2382
 2383      INTEGER            SCODE( NSUBS )
 2384
 2385
 2386      EXTERNAL           blacs_get, blacs_gridexit, blacs_gridinfo,
 2387     $                   blacs_gridinit, 
pzdimee, pzgeadd, pzgemm,
 
 2389     $                   pzsymm, pzsyr2k, pzsyrk, pztradd, pztrmm,
 2390     $                   pztrsm
 2391
 2392
 2393      LOGICAL            ABRTFLG
 2394      INTEGER            NOUT
 2395      CHARACTER*7        SNAMES( NSUBS )
 2396      COMMON             /snamec/snames
 2397      COMMON             /pberrorc/nout, abrtflg
 2398
 2399
 2400      DATA               scode/31, 32, 32, 33, 34, 35, 36, 38, 38, 39,
 2401     $                   40/
 2402
 2403
 2404
 2405
 2406
 2407
 2408      CALL blacs_get( -1, 0, ictxt )
 2409      CALL blacs_gridinit( ictxt, 'Row-major', 1, nprocs )
 2410      CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
 2411
 2412
 2413
 2414
 2415
 2416      abrtsav = abrtflg
 2417      abrtflg = .false.
 2418      nout    = inout
 2419
 2420
 2421
 2422      i = 1
 2423      IF( ltest( i ) ) THEN
 2424         CALL pzoptee( ictxt, nout, pzgemm, scode( i ), snames( i ) )
 
 2425         CALL pzdimee( ictxt, nout, pzgemm, scode( i ), snames( i ) )
 
 2426         CALL pzmatee( ictxt, nout, pzgemm, scode( i ), snames( i ) )
 
 2427      END IF
 2428
 2429
 2430
 2431      i = i + 1
 2432      IF( ltest( i ) ) THEN
 2433         CALL pzoptee( ictxt, nout, pzsymm, scode( i ), snames( i ) )
 
 2434         CALL pzdimee( ictxt, nout, pzsymm, scode( i ), snames( i ) )
 
 2435         CALL pzmatee( ictxt, nout, pzsymm, scode( i ), snames( i ) )
 
 2436      END IF
 2437
 2438
 2439
 2440      i = i + 1
 2441      IF( ltest( i ) ) THEN
 2442         CALL pzoptee( ictxt, nout, pzhemm, scode( i ), snames( i ) )
 
 2443         CALL pzdimee( ictxt, nout, pzhemm, scode( i ), snames( i ) )
 
 2444         CALL pzmatee( ictxt, nout, pzhemm, scode( i ), snames( i ) )
 
 2445      END IF
 2446
 2447
 2448
 2449      i = i + 1
 2450      IF( ltest( i ) ) THEN
 2451         CALL pzoptee( ictxt, nout, pzsyrk, scode( i ), snames( i ) )
 
 2452         CALL pzdimee( ictxt, nout, pzsyrk, scode( i ), snames( i ) )
 
 2453         CALL pzmatee( ictxt, nout, pzsyrk, scode( i ), snames( i ) )
 
 2454      END IF
 2455
 2456
 2457
 2458      i = i + 1
 2459      IF( ltest( i ) ) THEN
 2460         CALL pzoptee( ictxt, nout, pzherk, scode( i ), snames( i ) )
 
 2461         CALL pzdimee( ictxt, nout, pzherk, scode( i ), snames( i ) )
 
 2462         CALL pzmatee( ictxt, nout, pzherk, scode( i ), snames( i ) )
 
 2463      END IF
 2464
 2465
 2466
 2467      i = i + 1
 2468      IF( ltest( i ) ) THEN
 2469         CALL pzoptee( ictxt, nout, pzsyr2k, scode( i ), snames( i ) )
 
 2470         CALL pzdimee( ictxt, nout, pzsyr2k, scode( i ), snames( i ) )
 
 2471         CALL pzmatee( ictxt, nout, pzsyr2k, scode( i ), snames( i ) )
 
 2472      END IF
 2473
 2474
 2475
 2476      i = i + 1
 2477      IF( ltest( i ) ) THEN
 2478         CALL pzoptee( ictxt, nout, pzher2k, scode( i ), snames( i ) )
 
 2479         CALL pzdimee( ictxt, nout, pzher2k, scode( i ), snames( i ) )
 
 2480         CALL pzmatee( ictxt, nout, pzher2k, scode( i ), snames( i ) )
 
 2481      END IF
 2482
 2483
 2484
 2485      i = i + 1
 2486      IF( ltest( i ) ) THEN
 2487         CALL pzoptee( ictxt, nout, pztrmm, scode( i ), snames( i ) )
 
 2488         CALL pzdimee( ictxt, nout, pztrmm, scode( i ), snames( i ) )
 
 2489         CALL pzmatee( ictxt, nout, pztrmm, scode( i ), snames( i ) )
 
 2490      END IF
 2491
 2492
 2493
 2494      i = i + 1
 2495      IF( ltest( i ) ) THEN
 2496         CALL pzoptee( ictxt, nout, pztrsm, scode( i ), snames( i ) )
 
 2497         CALL pzdimee( ictxt, nout, pztrsm, scode( i ), snames( i ) )
 
 2498         CALL pzmatee( ictxt, nout, pztrsm, scode( i ), snames( i ) )
 
 2499      END IF
 2500
 2501
 2502
 2503      i = i + 1
 2504      IF( ltest( i ) ) THEN
 2505         CALL pzoptee( ictxt, nout, pzgeadd, scode( i ), snames( i ) )
 
 2506         CALL pzdimee( ictxt, nout, pzgeadd, scode( i ), snames( i ) )
 
 2507         CALL pzmatee( ictxt, nout, pzgeadd, scode( i ), snames( i ) )
 
 2508      END IF
 2509
 2510
 2511
 2512      i = i + 1
 2513      IF( ltest( i ) ) THEN
 2514         CALL pzoptee( ictxt, nout, pztradd, scode( i ), snames( i ) )
 
 2515         CALL pzdimee( ictxt, nout, pztradd, scode( i ), snames( i ) )
 
 2516         CALL pzmatee( ictxt, nout, pztradd, scode( i ), snames( i ) )
 
 2517      END IF
 2518
 2519      IF( myrow.EQ.0 .AND. mycol.EQ.0 )
 2520     $   WRITE( nout, fmt = 9999 )
 2521
 2522      CALL blacs_gridexit( ictxt )
 2523
 2524
 2525
 2526      abrtflg = abrtsav
 2527
 2528 9999 FORMAT( 2x, 'Error-exit tests completed.' )
 2529
 2530      RETURN
 2531
 2532
 2533
subroutine pzmatee(ictxt, nout, subptr, scode, sname)
 
subroutine pzoptee(ictxt, nout, subptr, scode, sname)
 
subroutine pzdimee(ictxt, nout, subptr, scode, sname)