2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412 INTEGER ISNUM, NOUT
2413 CHARACTER*6 SRNAMT
2414
2415 INTEGER INFOT, NOUTC
2416 LOGICAL LERR, OK
2417
2418 COMPLEX ALPHA, BETA
2419 REAL RALPHA
2420
2421 COMPLEX A( 1, 1 ), X( 1 ), Y( 1 )
2422
2426
2427 COMMON /infoc/infot, noutc, ok, lerr
2428
2429
2430
2431 ok = .true.
2432
2433
2434 lerr = .false.
2435 GO TO ( 10, 20, 30, 40, 50, 60, 70, 80,
2436 $ 90, 100, 110, 120, 130, 140, 150, 160,
2437 $ 170 )isnum
2438 10 infot = 1
2439 CALL cgemv(
'/', 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2440 CALL chkxer( srnamt, infot, nout, lerr, ok )
2441 infot = 2
2442 CALL cgemv(
'N', -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2443 CALL chkxer( srnamt, infot, nout, lerr, ok )
2444 infot = 3
2445 CALL cgemv(
'N', 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2446 CALL chkxer( srnamt, infot, nout, lerr, ok )
2447 infot = 6
2448 CALL cgemv(
'N', 2, 0, alpha, a, 1, x, 1, beta, y, 1 )
2449 CALL chkxer( srnamt, infot, nout, lerr, ok )
2450 infot = 8
2451 CALL cgemv(
'N', 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2452 CALL chkxer( srnamt, infot, nout, lerr, ok )
2453 infot = 11
2454 CALL cgemv(
'N', 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2455 CALL chkxer( srnamt, infot, nout, lerr, ok )
2456 GO TO 180
2457 20 infot = 1
2458 CALL cgbmv(
'/', 0, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2459 CALL chkxer( srnamt, infot, nout, lerr, ok )
2460 infot = 2
2461 CALL cgbmv(
'N', -1, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2462 CALL chkxer( srnamt, infot, nout, lerr, ok )
2463 infot = 3
2464 CALL cgbmv(
'N', 0, -1, 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2465 CALL chkxer( srnamt, infot, nout, lerr, ok )
2466 infot = 4
2467 CALL cgbmv(
'N', 0, 0, -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2468 CALL chkxer( srnamt, infot, nout, lerr, ok )
2469 infot = 5
2470 CALL cgbmv(
'N', 2, 0, 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2471 CALL chkxer( srnamt, infot, nout, lerr, ok )
2472 infot = 8
2473 CALL cgbmv(
'N', 0, 0, 1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2474 CALL chkxer( srnamt, infot, nout, lerr, ok )
2475 infot = 10
2476 CALL cgbmv(
'N', 0, 0, 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2477 CALL chkxer( srnamt, infot, nout, lerr, ok )
2478 infot = 13
2479 CALL cgbmv(
'N', 0, 0, 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2480 CALL chkxer( srnamt, infot, nout, lerr, ok )
2481 GO TO 180
2482 30 infot = 1
2483 CALL chemv(
'/', 0, alpha, a, 1, x, 1, beta, y, 1 )
2484 CALL chkxer( srnamt, infot, nout, lerr, ok )
2485 infot = 2
2486 CALL chemv(
'U', -1, alpha, a, 1, x, 1, beta, y, 1 )
2487 CALL chkxer( srnamt, infot, nout, lerr, ok )
2488 infot = 5
2489 CALL chemv(
'U', 2, alpha, a, 1, x, 1, beta, y, 1 )
2490 CALL chkxer( srnamt, infot, nout, lerr, ok )
2491 infot = 7
2492 CALL chemv(
'U', 0, alpha, a, 1, x, 0, beta, y, 1 )
2493 CALL chkxer( srnamt, infot, nout, lerr, ok )
2494 infot = 10
2495 CALL chemv(
'U', 0, alpha, a, 1, x, 1, beta, y, 0 )
2496 CALL chkxer( srnamt, infot, nout, lerr, ok )
2497 GO TO 180
2498 40 infot = 1
2499 CALL chbmv(
'/', 0, 0, alpha, a, 1, x, 1, beta, y, 1 )
2500 CALL chkxer( srnamt, infot, nout, lerr, ok )
2501 infot = 2
2502 CALL chbmv(
'U', -1, 0, alpha, a, 1, x, 1, beta, y, 1 )
2503 CALL chkxer( srnamt, infot, nout, lerr, ok )
2504 infot = 3
2505 CALL chbmv(
'U', 0, -1, alpha, a, 1, x, 1, beta, y, 1 )
2506 CALL chkxer( srnamt, infot, nout, lerr, ok )
2507 infot = 6
2508 CALL chbmv(
'U', 0, 1, alpha, a, 1, x, 1, beta, y, 1 )
2509 CALL chkxer( srnamt, infot, nout, lerr, ok )
2510 infot = 8
2511 CALL chbmv(
'U', 0, 0, alpha, a, 1, x, 0, beta, y, 1 )
2512 CALL chkxer( srnamt, infot, nout, lerr, ok )
2513 infot = 11
2514 CALL chbmv(
'U', 0, 0, alpha, a, 1, x, 1, beta, y, 0 )
2515 CALL chkxer( srnamt, infot, nout, lerr, ok )
2516 GO TO 180
2517 50 infot = 1
2518 CALL chpmv(
'/', 0, alpha, a, x, 1, beta, y, 1 )
2519 CALL chkxer( srnamt, infot, nout, lerr, ok )
2520 infot = 2
2521 CALL chpmv(
'U', -1, alpha, a, x, 1, beta, y, 1 )
2522 CALL chkxer( srnamt, infot, nout, lerr, ok )
2523 infot = 6
2524 CALL chpmv(
'U', 0, alpha, a, x, 0, beta, y, 1 )
2525 CALL chkxer( srnamt, infot, nout, lerr, ok )
2526 infot = 9
2527 CALL chpmv(
'U', 0, alpha, a, x, 1, beta, y, 0 )
2528 CALL chkxer( srnamt, infot, nout, lerr, ok )
2529 GO TO 180
2530 60 infot = 1
2531 CALL ctrmv(
'/',
'N',
'N', 0, a, 1, x, 1 )
2532 CALL chkxer( srnamt, infot, nout, lerr, ok )
2533 infot = 2
2534 CALL ctrmv(
'U',
'/',
'N', 0, a, 1, x, 1 )
2535 CALL chkxer( srnamt, infot, nout, lerr, ok )
2536 infot = 3
2537 CALL ctrmv(
'U',
'N',
'/', 0, a, 1, x, 1 )
2538 CALL chkxer( srnamt, infot, nout, lerr, ok )
2539 infot = 4
2540 CALL ctrmv(
'U',
'N',
'N', -1, a, 1, x, 1 )
2541 CALL chkxer( srnamt, infot, nout, lerr, ok )
2542 infot = 6
2543 CALL ctrmv(
'U',
'N',
'N', 2, a, 1, x, 1 )
2544 CALL chkxer( srnamt, infot, nout, lerr, ok )
2545 infot = 8
2546 CALL ctrmv(
'U',
'N',
'N', 0, a, 1, x, 0 )
2547 CALL chkxer( srnamt, infot, nout, lerr, ok )
2548 GO TO 180
2549 70 infot = 1
2550 CALL ctbmv(
'/',
'N',
'N', 0, 0, a, 1, x, 1 )
2551 CALL chkxer( srnamt, infot, nout, lerr, ok )
2552 infot = 2
2553 CALL ctbmv(
'U',
'/',
'N', 0, 0, a, 1, x, 1 )
2554 CALL chkxer( srnamt, infot, nout, lerr, ok )
2555 infot = 3
2556 CALL ctbmv(
'U',
'N',
'/', 0, 0, a, 1, x, 1 )
2557 CALL chkxer( srnamt, infot, nout, lerr, ok )
2558 infot = 4
2559 CALL ctbmv(
'U',
'N',
'N', -1, 0, a, 1, x, 1 )
2560 CALL chkxer( srnamt, infot, nout, lerr, ok )
2561 infot = 5
2562 CALL ctbmv(
'U',
'N',
'N', 0, -1, a, 1, x, 1 )
2563 CALL chkxer( srnamt, infot, nout, lerr, ok )
2564 infot = 7
2565 CALL ctbmv(
'U',
'N',
'N', 0, 1, a, 1, x, 1 )
2566 CALL chkxer( srnamt, infot, nout, lerr, ok )
2567 infot = 9
2568 CALL ctbmv(
'U',
'N',
'N', 0, 0, a, 1, x, 0 )
2569 CALL chkxer( srnamt, infot, nout, lerr, ok )
2570 GO TO 180
2571 80 infot = 1
2572 CALL ctpmv(
'/',
'N',
'N', 0, a, x, 1 )
2573 CALL chkxer( srnamt, infot, nout, lerr, ok )
2574 infot = 2
2575 CALL ctpmv(
'U',
'/',
'N', 0, a, x, 1 )
2576 CALL chkxer( srnamt, infot, nout, lerr, ok )
2577 infot = 3
2578 CALL ctpmv(
'U',
'N',
'/', 0, a, x, 1 )
2579 CALL chkxer( srnamt, infot, nout, lerr, ok )
2580 infot = 4
2581 CALL ctpmv(
'U',
'N',
'N', -1, a, x, 1 )
2582 CALL chkxer( srnamt, infot, nout, lerr, ok )
2583 infot = 7
2584 CALL ctpmv(
'U',
'N',
'N', 0, a, x, 0 )
2585 CALL chkxer( srnamt, infot, nout, lerr, ok )
2586 GO TO 180
2587 90 infot = 1
2588 CALL ctrsv(
'/',
'N',
'N', 0, a, 1, x, 1 )
2589 CALL chkxer( srnamt, infot, nout, lerr, ok )
2590 infot = 2
2591 CALL ctrsv(
'U',
'/',
'N', 0, a, 1, x, 1 )
2592 CALL chkxer( srnamt, infot, nout, lerr, ok )
2593 infot = 3
2594 CALL ctrsv(
'U',
'N',
'/', 0, a, 1, x, 1 )
2595 CALL chkxer( srnamt, infot, nout, lerr, ok )
2596 infot = 4
2597 CALL ctrsv(
'U',
'N',
'N', -1, a, 1, x, 1 )
2598 CALL chkxer( srnamt, infot, nout, lerr, ok )
2599 infot = 6
2600 CALL ctrsv(
'U',
'N',
'N', 2, a, 1, x, 1 )
2601 CALL chkxer( srnamt, infot, nout, lerr, ok )
2602 infot = 8
2603 CALL ctrsv(
'U',
'N',
'N', 0, a, 1, x, 0 )
2604 CALL chkxer( srnamt, infot, nout, lerr, ok )
2605 GO TO 180
2606 100 infot = 1
2607 CALL ctbsv(
'/',
'N',
'N', 0, 0, a, 1, x, 1 )
2608 CALL chkxer( srnamt, infot, nout, lerr, ok )
2609 infot = 2
2610 CALL ctbsv(
'U',
'/',
'N', 0, 0, a, 1, x, 1 )
2611 CALL chkxer( srnamt, infot, nout, lerr, ok )
2612 infot = 3
2613 CALL ctbsv(
'U',
'N',
'/', 0, 0, a, 1, x, 1 )
2614 CALL chkxer( srnamt, infot, nout, lerr, ok )
2615 infot = 4
2616 CALL ctbsv(
'U',
'N',
'N', -1, 0, a, 1, x, 1 )
2617 CALL chkxer( srnamt, infot, nout, lerr, ok )
2618 infot = 5
2619 CALL ctbsv(
'U',
'N',
'N', 0, -1, a, 1, x, 1 )
2620 CALL chkxer( srnamt, infot, nout, lerr, ok )
2621 infot = 7
2622 CALL ctbsv(
'U',
'N',
'N', 0, 1, a, 1, x, 1 )
2623 CALL chkxer( srnamt, infot, nout, lerr, ok )
2624 infot = 9
2625 CALL ctbsv(
'U',
'N',
'N', 0, 0, a, 1, x, 0 )
2626 CALL chkxer( srnamt, infot, nout, lerr, ok )
2627 GO TO 180
2628 110 infot = 1
2629 CALL ctpsv(
'/',
'N',
'N', 0, a, x, 1 )
2630 CALL chkxer( srnamt, infot, nout, lerr, ok )
2631 infot = 2
2632 CALL ctpsv(
'U',
'/',
'N', 0, a, x, 1 )
2633 CALL chkxer( srnamt, infot, nout, lerr, ok )
2634 infot = 3
2635 CALL ctpsv(
'U',
'N',
'/', 0, a, x, 1 )
2636 CALL chkxer( srnamt, infot, nout, lerr, ok )
2637 infot = 4
2638 CALL ctpsv(
'U',
'N',
'N', -1, a, x, 1 )
2639 CALL chkxer( srnamt, infot, nout, lerr, ok )
2640 infot = 7
2641 CALL ctpsv(
'U',
'N',
'N', 0, a, x, 0 )
2642 CALL chkxer( srnamt, infot, nout, lerr, ok )
2643 GO TO 180
2644 120 infot = 1
2645 CALL cgerc( -1, 0, alpha, x, 1, y, 1, a, 1 )
2646 CALL chkxer( srnamt, infot, nout, lerr, ok )
2647 infot = 2
2648 CALL cgerc( 0, -1, alpha, x, 1, y, 1, a, 1 )
2649 CALL chkxer( srnamt, infot, nout, lerr, ok )
2650 infot = 5
2651 CALL cgerc( 0, 0, alpha, x, 0, y, 1, a, 1 )
2652 CALL chkxer( srnamt, infot, nout, lerr, ok )
2653 infot = 7
2654 CALL cgerc( 0, 0, alpha, x, 1, y, 0, a, 1 )
2655 CALL chkxer( srnamt, infot, nout, lerr, ok )
2656 infot = 9
2657 CALL cgerc( 2, 0, alpha, x, 1, y, 1, a, 1 )
2658 CALL chkxer( srnamt, infot, nout, lerr, ok )
2659 GO TO 180
2660 130 infot = 1
2661 CALL cgeru( -1, 0, alpha, x, 1, y, 1, a, 1 )
2662 CALL chkxer( srnamt, infot, nout, lerr, ok )
2663 infot = 2
2664 CALL cgeru( 0, -1, alpha, x, 1, y, 1, a, 1 )
2665 CALL chkxer( srnamt, infot, nout, lerr, ok )
2666 infot = 5
2667 CALL cgeru( 0, 0, alpha, x, 0, y, 1, a, 1 )
2668 CALL chkxer( srnamt, infot, nout, lerr, ok )
2669 infot = 7
2670 CALL cgeru( 0, 0, alpha, x, 1, y, 0, a, 1 )
2671 CALL chkxer( srnamt, infot, nout, lerr, ok )
2672 infot = 9
2673 CALL cgeru( 2, 0, alpha, x, 1, y, 1, a, 1 )
2674 CALL chkxer( srnamt, infot, nout, lerr, ok )
2675 GO TO 180
2676 140 infot = 1
2677 CALL cher(
'/', 0, ralpha, x, 1, a, 1 )
2678 CALL chkxer( srnamt, infot, nout, lerr, ok )
2679 infot = 2
2680 CALL cher(
'U', -1, ralpha, x, 1, a, 1 )
2681 CALL chkxer( srnamt, infot, nout, lerr, ok )
2682 infot = 5
2683 CALL cher(
'U', 0, ralpha, x, 0, a, 1 )
2684 CALL chkxer( srnamt, infot, nout, lerr, ok )
2685 infot = 7
2686 CALL cher(
'U', 2, ralpha, x, 1, a, 1 )
2687 CALL chkxer( srnamt, infot, nout, lerr, ok )
2688 GO TO 180
2689 150 infot = 1
2690 CALL chpr(
'/', 0, ralpha, x, 1, a )
2691 CALL chkxer( srnamt, infot, nout, lerr, ok )
2692 infot = 2
2693 CALL chpr(
'U', -1, ralpha, x, 1, a )
2694 CALL chkxer( srnamt, infot, nout, lerr, ok )
2695 infot = 5
2696 CALL chpr(
'U', 0, ralpha, x, 0, a )
2697 CALL chkxer( srnamt, infot, nout, lerr, ok )
2698 GO TO 180
2699 160 infot = 1
2700 CALL cher2(
'/', 0, alpha, x, 1, y, 1, a, 1 )
2701 CALL chkxer( srnamt, infot, nout, lerr, ok )
2702 infot = 2
2703 CALL cher2(
'U', -1, alpha, x, 1, y, 1, a, 1 )
2704 CALL chkxer( srnamt, infot, nout, lerr, ok )
2705 infot = 5
2706 CALL cher2(
'U', 0, alpha, x, 0, y, 1, a, 1 )
2707 CALL chkxer( srnamt, infot, nout, lerr, ok )
2708 infot = 7
2709 CALL cher2(
'U', 0, alpha, x, 1, y, 0, a, 1 )
2710 CALL chkxer( srnamt, infot, nout, lerr, ok )
2711 infot = 9
2712 CALL cher2(
'U', 2, alpha, x, 1, y, 1, a, 1 )
2713 CALL chkxer( srnamt, infot, nout, lerr, ok )
2714 GO TO 180
2715 170 infot = 1
2716 CALL chpr2(
'/', 0, alpha, x, 1, y, 1, a )
2717 CALL chkxer( srnamt, infot, nout, lerr, ok )
2718 infot = 2
2719 CALL chpr2(
'U', -1, alpha, x, 1, y, 1, a )
2720 CALL chkxer( srnamt, infot, nout, lerr, ok )
2721 infot = 5
2722 CALL chpr2(
'U', 0, alpha, x, 0, y, 1, a )
2723 CALL chkxer( srnamt, infot, nout, lerr, ok )
2724 infot = 7
2725 CALL chpr2(
'U', 0, alpha, x, 1, y, 0, a )
2726 CALL chkxer( srnamt, infot, nout, lerr, ok )
2727
2728 180 IF( ok )THEN
2729 WRITE( nout, fmt = 9999 )srnamt
2730 ELSE
2731 WRITE( nout, fmt = 9998 )srnamt
2732 END IF
2733 RETURN
2734
2735 9999 FORMAT( ' ', a6, ' PASSED THE TESTS OF ERROR-EXITS' )
2736 9998 FORMAT( ' ******* ', a6, ' FAILED THE TESTS OF ERROR-EXITS *****',
2737 $ '**' )
2738
2739
2740
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine cgbmv(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy)
CGBMV
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
subroutine cgeru(m, n, alpha, x, incx, y, incy, a, lda)
CGERU
subroutine chbmv(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy)
CHBMV
subroutine chemv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
CHEMV
subroutine cher2(uplo, n, alpha, x, incx, y, incy, a, lda)
CHER2
subroutine cher(uplo, n, alpha, x, incx, a, lda)
CHER
subroutine chpmv(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHPMV
subroutine chpr2(uplo, n, alpha, x, incx, y, incy, ap)
CHPR2
subroutine chpr(uplo, n, alpha, x, incx, ap)
CHPR
subroutine ctbmv(uplo, trans, diag, n, k, a, lda, x, incx)
CTBMV
subroutine ctbsv(uplo, trans, diag, n, k, a, lda, x, incx)
CTBSV
subroutine ctpmv(uplo, trans, diag, n, ap, x, incx)
CTPMV
subroutine ctpsv(uplo, trans, diag, n, ap, x, incx)
CTPSV
subroutine ctrmv(uplo, trans, diag, n, a, lda, x, incx)
CTRMV
subroutine ctrsv(uplo, trans, diag, n, a, lda, x, incx)
CTRSV