#include "blaswrap.h"
/*  -- translated by f2c (version 19990503).
   You must link the resulting object file with the libraries:
	-lf2c -lm   (in that order)
*/

#include "f2c.h"

/* Table of constant values */

static integer c__1 = 1;
static integer c__2 = 2;

/* Subroutine */ int slahd2_(integer *iounit, char *path)
{
    /* Format strings */
    static char fmt_9999[] = "(1x,a3,\002:  no header available\002)";
    static char fmt_9998[] = "(/1x,a3,\002 -- Real Non-symmetric eigenvalue "
	    "problem\002)";
    static char fmt_9988[] = "(\002 Matrix types (see xCHKHS for details):"
	    " \002)";
    static char fmt_9987[] = "(/\002 Special Matrices:\002,/\002  1=Zero mat"
	    "rix.             \002,\002           \002,\002  5=Diagonal: geom"
	    "etr. spaced entries.\002,/\002  2=Identity matrix.              "
	    "      \002,\002  6=Diagona\002,\002l: clustered entries.\002,"
	    "/\002  3=Transposed Jordan block.  \002,\002          \002,\002 "
	    " 7=Diagonal: large, evenly spaced.\002,/\002  \002,\0024=Diagona"
	    "l: evenly spaced entries.    \002,\002  8=Diagonal: s\002,\002ma"
	    "ll, evenly spaced.\002)";
    static char fmt_9986[] = "(\002 Dense, Non-Symmetric Matrices:\002,/\002"
	    "  9=Well-cond., ev\002,\002enly spaced eigenvals.\002,\002 14=Il"
	    "l-cond., geomet. spaced e\002,\002igenals.\002,/\002 10=Well-con"
	    "d., geom. spaced eigenvals. \002,\002 15=Ill-conditioned, cluste"
	    "red e.vals.\002,/\002 11=Well-cond\002,\002itioned, clustered e."
	    "vals. \002,\002 16=Ill-cond., random comp\002,\002lex \002,a6,"
	    "/\002 12=Well-cond., random complex \002,a6,\002   \002,\002 17="
	    "Ill-cond., large rand. complx \002,a4,/\002 13=Ill-condi\002,"
	    "\002tioned, evenly spaced.     \002,\002 18=Ill-cond., small ran"
	    "d.\002,\002 complx \002,a4)";
    static char fmt_9985[] = "(\002 19=Matrix with random O(1) entries.   "
	    " \002,\002 21=Matrix \002,\002with small random entries.\002,"
	    "/\002 20=Matrix with large ran\002,\002dom entries.   \002)";
    static char fmt_9984[] = "(/\002 Tests performed:   \002,\002(H is Hesse"
	    "nberg, T is Schur,\002,\002 U and Z are \002,a,\002,\002,/20x,a"
	    ",\002, W is a diagonal matr\002,\002ix of eigenvalues,\002,/20x"
	    ",\002L and R are the left and rig\002,\002ht eigenvector matrice"
	    "s)\002,/\002  1 = | A - U H U\002,a1,\002 |\002,\002 / ( |A| n u"
	    "lp )         \002,\002  2 = | I - U U\002,a1,\002 | / \002,\002("
	    " n ulp )\002,/\002  3 = | H - Z T Z\002,a1,\002 | / ( |H| n ulp"
	    " \002,\002)         \002,\002  4 = | I - Z Z\002,a1,\002 | / ( n"
	    " ulp )\002,/\002  5 = | A - UZ T (UZ)\002,a1,\002 | / ( |A| n ul"
	    "p )     \002,\002  6 = | I - UZ (UZ)\002,a1,\002 | / ( n ulp "
	    ")\002,/\002  7 = | T(\002,\002e.vects.) - T(no e.vects.) | / ( |"
	    "T| ulp )\002,/\002  8 = | W\002,\002(e.vects.) - W(no e.vects.) "
	    "| / ( |W| ulp )\002,/\002  9 = | \002,\002TR - RW | / ( |T| |R| "
	    "ulp )     \002,\002 10 = | LT - WL | / (\002,\002 |T| |L| ulp "
	    ")\002,/\002 11= |HX - XW| / (|H| |X| ulp)  (inv.\002,\002it)\002,"
	    "\002 12= |YH - WY| / (|H| |Y| ulp)  (inv.it)\002)";
    static char fmt_9997[] = "(/1x,a3,\002 -- Complex Non-symmetric eigenval"
	    "ue problem\002)";
    static char fmt_9996[] = "(/1x,a3,\002 -- Real Symmetric eigenvalue prob"
	    "lem\002)";
    static char fmt_9983[] = "(\002 Matrix types (see xDRVST for details):"
	    " \002)";
    static char fmt_9982[] = "(/\002 Special Matrices:\002,/\002  1=Zero mat"
	    "rix.             \002,\002           \002,\002  5=Diagonal: clus"
	    "tered entries.\002,/\002  2=\002,\002Identity matrix.           "
	    "         \002,\002  6=Diagonal: lar\002,\002ge, evenly spaced"
	    ".\002,/\002  3=Diagonal: evenly spaced entri\002,\002es.    \002,"
	    "\002  7=Diagonal: small, evenly spaced.\002,/\002  4=D\002,\002i"
	    "agonal: geometr. spaced entries.\002)";
    static char fmt_9981[] = "(\002 Dense \002,a,\002 Matrices:\002,/\002  8"
	    "=Evenly spaced eigen\002,\002vals.            \002,\002 12=Small"
	    ", evenly spaced eigenvals.\002,/\002  9=Geometrically spaced eig"
	    "envals.     \002,\002 13=Matrix \002,\002with random O(1) entrie"
	    "s.\002,/\002 10=Clustered eigenvalues.\002,\002              "
	    "\002,\002 14=Matrix with large random entries.\002,/\002 11=Larg"
	    "e, evenly spaced eigenvals.     \002,\002 15=Matrix \002,\002wit"
	    "h small random entries.\002)";
    static char fmt_9968[] = "(/\002 Tests performed:  See sdrvst.f\002)";
    static char fmt_9995[] = "(/1x,a3,\002 -- Complex Hermitian eigenvalue p"
	    "roblem\002)";
    static char fmt_9967[] = "(/\002 Tests performed:  See cdrvst.f\002)";
    static char fmt_9992[] = "(/1x,a3,\002 -- Real Symmetric Generalized eig"
	    "envalue \002,\002problem\002)";
    static char fmt_9980[] = "(\002 Matrix types (see xDRVSG for details):"
	    " \002)";
    static char fmt_9979[] = "(/\002 Special Matrices:\002,/\002  1=Zero mat"
	    "rix.             \002,\002           \002,\002  5=Diagonal: clus"
	    "tered entries.\002,/\002  2=\002,\002Identity matrix.           "
	    "         \002,\002  6=Diagonal: lar\002,\002ge, evenly spaced"
	    ".\002,/\002  3=Diagonal: evenly spaced entri\002,\002es.    \002,"
	    "\002  7=Diagonal: small, evenly spaced.\002,/\002  4=D\002,\002i"
	    "agonal: geometr. spaced entries.\002)";
    static char fmt_9978[] = "(\002 Dense or Banded \002,a,\002 Matrices:"
	    " \002,/\002  8=Evenly spaced eigenvals.         \002,\002 15=Mat"
	    "rix with small random entries.\002,/\002  9=Geometrically spaced"
	    " eigenvals.  \002,\002 16=Evenly spaced eigenvals, KA=1, KB=1"
	    ".\002,/\002 10=Clustered eigenvalues.           \002,\002 17=Eve"
	    "nly spaced eigenvals, KA=2, KB=1.\002,/\002 11=Large, evenly spa"
	    "ced eigenvals.  \002,\002 18=Evenly spaced eigenvals, KA=2, KB=2."
	    "\002,/\002 12=Small, evenly spaced eigenvals.  \002,\002 19=Even"
	    "ly spaced eigenvals, KA=3, KB=1.\002,/\002 13=Matrix with random"
	    " O(1) entries. \002,\002 20=Evenly spaced eigenvals, KA=3, KB=2"
	    ".\002,/\002 14=Matrix with large random entries.\002,\002 21=Eve"
	    "nly spaced eigenvals, KA=3, KB=3.\002)";
    static char fmt_9977[] = "(/\002 Tests performed:   \002,/\002( For each"
	    " pair (A,B), where A is of the given type \002,/\002 and B is a "
	    "random well-conditioned matrix. D is \002,/\002 diagonal, and Z "
	    "is orthogonal. )\002,/\002 1 = SSYGV, with ITYPE=1 and UPLO='U'"
	    ":\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     \002,/\002 2"
	    " = SSPGV, with ITYPE=1 and UPLO='U':\002,\002  | A Z - B Z D | /"
	    " ( |A| |Z| n ulp )     \002,/\002 3 = SSBGV, with ITYPE=1 and UP"
	    "LO='U':\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     \002,"
	    "/\002 4 = SSYGV, with ITYPE=1 and UPLO='L':\002,\002  | A Z - B "
	    "Z D | / ( |A| |Z| n ulp )     \002,/\002 5 = SSPGV, with ITYPE=1"
	    " and UPLO='L':\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     "
	    "\002,/\002 6 = SSBGV, with ITYPE=1 and UPLO='L':\002,\002  | A Z"
	    " - B Z D | / ( |A| |Z| n ulp )     \002)";
    static char fmt_9976[] = "(\002 7 = SSYGV, with ITYPE=2 and UPLO='U':"
	    "\002,\002  | A B Z - Z D | / ( |A| |Z| n ulp )     \002,/\002 8 "
	    "= SSPGV, with ITYPE=2 and UPLO='U':\002,\002  | A B Z - Z D | / "
	    "( |A| |Z| n ulp )     \002,/\002 9 = SSPGV, with ITYPE=2 and UPL"
	    "O='L':\002,\002  | A B Z - Z D | / ( |A| |Z| n ulp )     \002,"
	    "/\00210 = SSPGV, with ITYPE=2 and UPLO='L':\002,\002  | A B Z - "
	    "Z D | / ( |A| |Z| n ulp )     \002,/\00211 = SSYGV, with ITYPE=3"
	    " and UPLO='U':\002,\002  | B A Z - Z D | / ( |A| |Z| n ulp )     "
	    "\002,/\00212 = SSPGV, with ITYPE=3 and UPLO='U':\002,\002  | B A"
	    " Z - Z D | / ( |A| |Z| n ulp )     \002,/\00213 = SSYGV, with IT"
	    "YPE=3 and UPLO='L':\002,\002  | B A Z - Z D | / ( |A| |Z| n ulp "
	    ")     \002,/\00214 = SSPGV, with ITYPE=3 and UPLO='L':\002,\002 "
	    " | B A Z - Z D | / ( |A| |Z| n ulp )     \002)";
    static char fmt_9991[] = "(/1x,a3,\002 -- Complex Hermitian Generalized "
	    "eigenvalue \002,\002problem\002)";
    static char fmt_9975[] = "(/\002 Tests performed:   \002,/\002( For each"
	    " pair (A,B), where A is of the given type \002,/\002 and B is a "
	    "random well-conditioned matrix. D is \002,/\002 diagonal, and Z "
	    "is unitary. )\002,/\002 1 = CHEGV, with ITYPE=1 and UPLO='U':"
	    "\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     \002,/\002 2 "
	    "= CHPGV, with ITYPE=1 and UPLO='U':\002,\002  | A Z - B Z D | / "
	    "( |A| |Z| n ulp )     \002,/\002 3 = CHBGV, with ITYPE=1 and UPL"
	    "O='U':\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     \002,"
	    "/\002 4 = CHEGV, with ITYPE=1 and UPLO='L':\002,\002  | A Z - B "
	    "Z D | / ( |A| |Z| n ulp )     \002,/\002 5 = CHPGV, with ITYPE=1"
	    " and UPLO='L':\002,\002  | A Z - B Z D | / ( |A| |Z| n ulp )     "
	    "\002,/\002 6 = CHBGV, with ITYPE=1 and UPLO='L':\002,\002  | A Z"
	    " - B Z D | / ( |A| |Z| n ulp )     \002)";
    static char fmt_9974[] = "(\002 7 = CHEGV, with ITYPE=2 and UPLO='U':"
	    "\002,\002  | A B Z - Z D | / ( |A| |Z| n ulp )     \002,/\002 8 "
	    "= CHPGV, with ITYPE=2 and UPLO='U':\002,\002  | A B Z - Z D | / "
	    "( |A| |Z| n ulp )     \002,/\002 9 = CHPGV, with ITYPE=2 and UPL"
	    "O='L':\002,\002  | A B Z - Z D | / ( |A| |Z| n ulp )     \002,"
	    "/\00210 = CHPGV, with ITYPE=2 and UPLO='L':\002,\002  | A B Z - "
	    "Z D | / ( |A| |Z| n ulp )     \002,/\00211 = CHEGV, with ITYPE=3"
	    " and UPLO='U':\002,\002  | B A Z - Z D | / ( |A| |Z| n ulp )     "
	    "\002,/\00212 = CHPGV, with ITYPE=3 and UPLO='U':\002,\002  | B A"
	    " Z - Z D | / ( |A| |Z| n ulp )     \002,/\00213 = CHEGV, with IT"
	    "YPE=3 and UPLO='L':\002,\002  | B A Z - Z D | / ( |A| |Z| n ulp "
	    ")     \002,/\00214 = CHPGV, with ITYPE=3 and UPLO='L':\002,\002 "
	    " | B A Z - Z D | / ( |A| |Z| n ulp )     \002)";
    static char fmt_9994[] = "(/1x,a3,\002 -- Real Singular Value Decomposit"
	    "ion\002)";
    static char fmt_9973[] = "(\002 Matrix types (see xCHKBD for details)"
	    ":\002,/\002 Diagonal matrices:\002,/\002   1: Zero\002,28x,\002 "
	    "5: Clustered entries\002,/\002   2: Identity\002,24x,\002 6: Lar"
	    "ge, evenly spaced entries\002,/\002   3: Evenly spaced entrie"
	    "s\002,11x,\002 7: Small, evenly spaced entries\002,/\002   4: Ge"
	    "ometrically spaced entries\002,/\002 General matrices:\002,/\002"
	    "   8: Evenly spaced sing. vals.\002,7x,\00212: Small, evenly spa"
	    "ced sing vals\002,/\002   9: Geometrically spaced sing vals  "
	    "\002,\00213: Random, O(1) entries\002,/\002  10: Clustered sing."
	    " vals.\002,11x,\00214: Random, scaled near overflow\002,/\002  1"
	    "1: Large, evenly spaced sing vals  \002,\00215: Random, scaled n"
	    "ear underflow\002)";
    static char fmt_9972[] = "(/\002 Test ratios:  \002,\002(B: bidiagonal, "
	    "S: diagonal, Q, P, U, and V: \002,a10,/16x,\002X: m x nrhs, Y = "
	    "Q' X, and Z = U' Y)\002,/\002   1: norm( A - Q B P' ) / ( norm(A"
	    ") max(m,n) ulp )\002,/\002   2: norm( I - Q' Q )   / ( m ulp "
	    ")\002,/\002   3: norm( I - P' P )   / ( n ulp )\002,/\002   4: n"
	    "orm( B - U S V' ) / ( norm(B) min(m,n) ulp )\002,/\002   5: norm"
	    "( Y - U Z )    / ( norm(Z) max(min(m,n),k) ulp )\002,/\002   6: "
	    "norm( I - U' U )   / ( min(m,n) ulp )\002,/\002   7: norm( I - V"
	    "' V )   / ( min(m,n) ulp )\002)";
    static char fmt_9971[] = "(\002   8: Test ordering of S  (0 if nondecrea"
	    "sing, 1/ulp \002,\002 otherwise)\002,/\002   9: norm( S - S2 )  "
	    "   / ( norm(S) ulp ),\002,\002 where S2 is computed\002,/44x,"
	    "\002without computing U and V'\002,/\002  10: Sturm sequence tes"
	    "t \002,\002(0 if sing. vals of B within THRESH of S)\002,/\002  "
	    "11: norm( A - (QU) S (V' P') ) / \002,\002( norm(A) max(m,n) ulp"
	    " )\002,/\002  12: norm( X - (QU) Z )         / ( |X| max(M,k) ul"
	    "p )\002,/\002  13: norm( I - (QU)'(QU) )      / ( M ulp )\002,"
	    "/\002  14: norm( I - (V' P') (P V) )  / ( N ulp )\002)";
    static char fmt_9993[] = "(/1x,a3,\002 -- Complex Singular Value Decompo"
	    "sition\002)";
    static char fmt_9990[] = "(/1x,a3,\002 -- Real Band reduc. to bidiagonal"
	    " form\002)";
    static char fmt_9970[] = "(\002 Matrix types (see xCHKBB for details)"
	    ":\002,/\002 Diagonal matrices:\002,/\002   1: Zero\002,28x,\002 "
	    "5: Clustered entries\002,/\002   2: Identity\002,24x,\002 6: Lar"
	    "ge, evenly spaced entries\002,/\002   3: Evenly spaced entrie"
	    "s\002,11x,\002 7: Small, evenly spaced entries\002,/\002   4: Ge"
	    "ometrically spaced entries\002,/\002 General matrices:\002,/\002"
	    "   8: Evenly spaced sing. vals.\002,7x,\00212: Small, evenly spa"
	    "ced sing vals\002,/\002   9: Geometrically spaced sing vals  "
	    "\002,\00213: Random, O(1) entries\002,/\002  10: Clustered sing."
	    " vals.\002,11x,\00214: Random, scaled near overflow\002,/\002  1"
	    "1: Large, evenly spaced sing vals  \002,\00215: Random, scaled n"
	    "ear underflow\002)";
    static char fmt_9969[] = "(/\002 Test ratios:  \002,\002(B: upper bidiag"
	    "onal, Q and P: \002,a10,/16x,\002C: m x nrhs, PT = P', Y = Q' C"
	    ")\002,/\002 1: norm( A - Q B PT ) / ( norm(A) max(m,n) ulp )\002"
	    ",/\002 2: norm( I - Q' Q )   / ( m ulp )\002,/\002 3: norm( I - "
	    "PT PT' )   / ( n ulp )\002,/\002 4: norm( Y - Q' C )   / ( norm("
	    "Y) max(m,nrhs) ulp )\002)";
    static char fmt_9989[] = "(/1x,a3,\002 -- Complex Band reduc. to bidiago"
	    "nal form\002)";

    /* Builtin functions */
    integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);
    /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);

    /* Local variables */
    static logical sord, corz;
    static integer j;
    extern logical lsame_(char *, char *);
    static char c2[2];
    extern logical lsamen_(integer *, char *, char *);

    /* Fortran I/O blocks */
    static cilist io___3 = { 0, 0, 0, fmt_9999, 0 };
    static cilist io___5 = { 0, 0, 0, fmt_9998, 0 };
    static cilist io___6 = { 0, 0, 0, fmt_9988, 0 };
    static cilist io___7 = { 0, 0, 0, fmt_9987, 0 };
    static cilist io___8 = { 0, 0, 0, fmt_9986, 0 };
    static cilist io___9 = { 0, 0, 0, fmt_9985, 0 };
    static cilist io___10 = { 0, 0, 0, fmt_9984, 0 };
    static cilist io___12 = { 0, 0, 0, fmt_9997, 0 };
    static cilist io___13 = { 0, 0, 0, fmt_9988, 0 };
    static cilist io___14 = { 0, 0, 0, fmt_9987, 0 };
    static cilist io___15 = { 0, 0, 0, fmt_9986, 0 };
    static cilist io___16 = { 0, 0, 0, fmt_9985, 0 };
    static cilist io___17 = { 0, 0, 0, fmt_9984, 0 };
    static cilist io___18 = { 0, 0, 0, fmt_9996, 0 };
    static cilist io___19 = { 0, 0, 0, fmt_9983, 0 };
    static cilist io___20 = { 0, 0, 0, fmt_9982, 0 };
    static cilist io___21 = { 0, 0, 0, fmt_9981, 0 };
    static cilist io___22 = { 0, 0, 0, fmt_9968, 0 };
    static cilist io___23 = { 0, 0, 0, fmt_9995, 0 };
    static cilist io___24 = { 0, 0, 0, fmt_9983, 0 };
    static cilist io___25 = { 0, 0, 0, fmt_9982, 0 };
    static cilist io___26 = { 0, 0, 0, fmt_9981, 0 };
    static cilist io___27 = { 0, 0, 0, fmt_9967, 0 };
    static cilist io___28 = { 0, 0, 0, fmt_9992, 0 };
    static cilist io___29 = { 0, 0, 0, fmt_9980, 0 };
    static cilist io___30 = { 0, 0, 0, fmt_9979, 0 };
    static cilist io___31 = { 0, 0, 0, fmt_9978, 0 };
    static cilist io___32 = { 0, 0, 0, fmt_9977, 0 };
    static cilist io___33 = { 0, 0, 0, fmt_9976, 0 };
    static cilist io___34 = { 0, 0, 0, fmt_9991, 0 };
    static cilist io___35 = { 0, 0, 0, fmt_9980, 0 };
    static cilist io___36 = { 0, 0, 0, fmt_9979, 0 };
    static cilist io___37 = { 0, 0, 0, fmt_9978, 0 };
    static cilist io___38 = { 0, 0, 0, fmt_9975, 0 };
    static cilist io___39 = { 0, 0, 0, fmt_9974, 0 };
    static cilist io___40 = { 0, 0, 0, fmt_9994, 0 };
    static cilist io___41 = { 0, 0, 0, fmt_9973, 0 };
    static cilist io___42 = { 0, 0, 0, fmt_9972, 0 };
    static cilist io___43 = { 0, 0, 0, fmt_9971, 0 };
    static cilist io___44 = { 0, 0, 0, fmt_9993, 0 };
    static cilist io___45 = { 0, 0, 0, fmt_9973, 0 };
    static cilist io___46 = { 0, 0, 0, fmt_9972, 0 };
    static cilist io___47 = { 0, 0, 0, fmt_9971, 0 };
    static cilist io___48 = { 0, 0, 0, fmt_9990, 0 };
    static cilist io___49 = { 0, 0, 0, fmt_9970, 0 };
    static cilist io___50 = { 0, 0, 0, fmt_9969, 0 };
    static cilist io___51 = { 0, 0, 0, fmt_9989, 0 };
    static cilist io___52 = { 0, 0, 0, fmt_9970, 0 };
    static cilist io___53 = { 0, 0, 0, fmt_9969, 0 };
    static cilist io___54 = { 0, 0, 0, fmt_9999, 0 };



/*  -- LAPACK auxiliary test routine (version 2.0) --   
       Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,   
       Courant Institute, Argonne National Lab, and Rice University   
       September 30, 1994   


    Purpose   
    =======   

    SLAHD2 prints header information for the different test paths.   

    Arguments   
    =========   

    IOUNIT  (input) INTEGER.   
            On entry, IOUNIT specifies the unit number to which the   
            header information should be printed.   

    PATH    (input) CHARACTER*3.   
            On entry, PATH contains the name of the path for which the   
            header information is to be printed.  Current paths are   

               SHS, CHS:  Non-symmetric eigenproblem.   
               SST, CST:  Symmetric eigenproblem.   
               SSG, CSG:  Symmetric Generalized eigenproblem.   
               SBD, CBD:  Singular Value Decomposition (SVD)   
               SBB, CBB:  General Banded reduction to bidiagonal form   

            These paths also are supplied in double precision (replace   
            leading S by D and leading C by Z in path names).   

    ===================================================================== */


    if (*iounit <= 0) {
	return 0;
    }
    sord = lsame_(path, "S") || lsame_(path, "D");
    corz = lsame_(path, "C") || lsame_(path, "Z");
    if (! sord && ! corz) {
	io___3.ciunit = *iounit;
	s_wsfe(&io___3);
	do_fio(&c__1, path, (ftnlen)3);
	e_wsfe();
    }
    s_copy(c2, path + 1, (ftnlen)2, (ftnlen)2);

    if (lsamen_(&c__2, c2, "HS")) {
	if (sord) {

/*           Real Non-symmetric Eigenvalue Problem: */

	    io___5.ciunit = *iounit;
	    s_wsfe(&io___5);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___6.ciunit = *iounit;
	    s_wsfe(&io___6);
	    e_wsfe();
	    io___7.ciunit = *iounit;
	    s_wsfe(&io___7);
	    e_wsfe();
	    io___8.ciunit = *iounit;
	    s_wsfe(&io___8);
	    do_fio(&c__1, "pairs ", (ftnlen)6);
	    do_fio(&c__1, "pairs ", (ftnlen)6);
	    do_fio(&c__1, "prs.", (ftnlen)4);
	    do_fio(&c__1, "prs.", (ftnlen)4);
	    e_wsfe();
	    io___9.ciunit = *iounit;
	    s_wsfe(&io___9);
	    e_wsfe();

/*           Tests performed */

	    io___10.ciunit = *iounit;
	    s_wsfe(&io___10);
	    do_fio(&c__1, "orthogonal", (ftnlen)10);
	    do_fio(&c__1, "'=transpose", (ftnlen)11);
	    for (j = 1; j <= 6; ++j) {
		do_fio(&c__1, "'", (ftnlen)1);
	    }
	    e_wsfe();

	} else {

/*           Complex Non-symmetric Eigenvalue Problem: */

	    io___12.ciunit = *iounit;
	    s_wsfe(&io___12);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___13.ciunit = *iounit;
	    s_wsfe(&io___13);
	    e_wsfe();
	    io___14.ciunit = *iounit;
	    s_wsfe(&io___14);
	    e_wsfe();
	    io___15.ciunit = *iounit;
	    s_wsfe(&io___15);
	    do_fio(&c__1, "e.vals", (ftnlen)6);
	    do_fio(&c__1, "e.vals", (ftnlen)6);
	    do_fio(&c__1, "e.vs", (ftnlen)4);
	    do_fio(&c__1, "e.vs", (ftnlen)4);
	    e_wsfe();
	    io___16.ciunit = *iounit;
	    s_wsfe(&io___16);
	    e_wsfe();

/*           Tests performed */

	    io___17.ciunit = *iounit;
	    s_wsfe(&io___17);
	    do_fio(&c__1, "unitary", (ftnlen)7);
	    do_fio(&c__1, "*=conj.transp.", (ftnlen)14);
	    for (j = 1; j <= 6; ++j) {
		do_fio(&c__1, "*", (ftnlen)1);
	    }
	    e_wsfe();
	}

    } else if (lsamen_(&c__2, c2, "ST")) {

	if (sord) {

/*           Real Symmetric Eigenvalue Problem: */

	    io___18.ciunit = *iounit;
	    s_wsfe(&io___18);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___19.ciunit = *iounit;
	    s_wsfe(&io___19);
	    e_wsfe();
	    io___20.ciunit = *iounit;
	    s_wsfe(&io___20);
	    e_wsfe();
	    io___21.ciunit = *iounit;
	    s_wsfe(&io___21);
	    do_fio(&c__1, "Symmetric", (ftnlen)9);
	    e_wsfe();

/*           Tests performed */

	    io___22.ciunit = *iounit;
	    s_wsfe(&io___22);
	    e_wsfe();

	} else {

/*           Complex Hermitian Eigenvalue Problem: */

	    io___23.ciunit = *iounit;
	    s_wsfe(&io___23);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___24.ciunit = *iounit;
	    s_wsfe(&io___24);
	    e_wsfe();
	    io___25.ciunit = *iounit;
	    s_wsfe(&io___25);
	    e_wsfe();
	    io___26.ciunit = *iounit;
	    s_wsfe(&io___26);
	    do_fio(&c__1, "Hermitian", (ftnlen)9);
	    e_wsfe();

/*           Tests performed */

	    io___27.ciunit = *iounit;
	    s_wsfe(&io___27);
	    e_wsfe();
	}

    } else if (lsamen_(&c__2, c2, "SG")) {

	if (sord) {

/*           Real Symmetric Generalized Eigenvalue Problem: */

	    io___28.ciunit = *iounit;
	    s_wsfe(&io___28);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___29.ciunit = *iounit;
	    s_wsfe(&io___29);
	    e_wsfe();
	    io___30.ciunit = *iounit;
	    s_wsfe(&io___30);
	    e_wsfe();
	    io___31.ciunit = *iounit;
	    s_wsfe(&io___31);
	    do_fio(&c__1, "Symmetric", (ftnlen)9);
	    e_wsfe();

/*           Tests performed */

	    io___32.ciunit = *iounit;
	    s_wsfe(&io___32);
	    e_wsfe();
	    io___33.ciunit = *iounit;
	    s_wsfe(&io___33);
	    e_wsfe();

	} else {

/*           Complex Hermitian Generalized Eigenvalue Problem: */

	    io___34.ciunit = *iounit;
	    s_wsfe(&io___34);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___35.ciunit = *iounit;
	    s_wsfe(&io___35);
	    e_wsfe();
	    io___36.ciunit = *iounit;
	    s_wsfe(&io___36);
	    e_wsfe();
	    io___37.ciunit = *iounit;
	    s_wsfe(&io___37);
	    do_fio(&c__1, "Hermitian", (ftnlen)9);
	    e_wsfe();

/*           Tests performed */

	    io___38.ciunit = *iounit;
	    s_wsfe(&io___38);
	    e_wsfe();
	    io___39.ciunit = *iounit;
	    s_wsfe(&io___39);
	    e_wsfe();

	}

    } else if (lsamen_(&c__2, c2, "BD")) {

	if (sord) {

/*           Real Singular Value Decomposition: */

	    io___40.ciunit = *iounit;
	    s_wsfe(&io___40);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___41.ciunit = *iounit;
	    s_wsfe(&io___41);
	    e_wsfe();

/*           Tests performed */

	    io___42.ciunit = *iounit;
	    s_wsfe(&io___42);
	    do_fio(&c__1, "orthogonal", (ftnlen)10);
	    e_wsfe();
	    io___43.ciunit = *iounit;
	    s_wsfe(&io___43);
	    e_wsfe();
	} else {

/*           Complex Singular Value Decomposition: */

	    io___44.ciunit = *iounit;
	    s_wsfe(&io___44);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___45.ciunit = *iounit;
	    s_wsfe(&io___45);
	    e_wsfe();

/*           Tests performed */

	    io___46.ciunit = *iounit;
	    s_wsfe(&io___46);
	    do_fio(&c__1, "unitary   ", (ftnlen)10);
	    e_wsfe();
	    io___47.ciunit = *iounit;
	    s_wsfe(&io___47);
	    e_wsfe();
	}

    } else if (lsamen_(&c__2, c2, "BB")) {

	if (sord) {

/*           Real General Band reduction to bidiagonal form: */

	    io___48.ciunit = *iounit;
	    s_wsfe(&io___48);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___49.ciunit = *iounit;
	    s_wsfe(&io___49);
	    e_wsfe();

/*           Tests performed */

	    io___50.ciunit = *iounit;
	    s_wsfe(&io___50);
	    do_fio(&c__1, "orthogonal", (ftnlen)10);
	    e_wsfe();
	} else {

/*           Complex Band reduction to bidiagonal form: */

	    io___51.ciunit = *iounit;
	    s_wsfe(&io___51);
	    do_fio(&c__1, path, (ftnlen)3);
	    e_wsfe();

/*           Matrix types */

	    io___52.ciunit = *iounit;
	    s_wsfe(&io___52);
	    e_wsfe();

/*           Tests performed */

	    io___53.ciunit = *iounit;
	    s_wsfe(&io___53);
	    do_fio(&c__1, "unitary   ", (ftnlen)10);
	    e_wsfe();
	}

    } else {

	io___54.ciunit = *iounit;
	s_wsfe(&io___54);
	do_fio(&c__1, path, (ftnlen)3);
	e_wsfe();
	return 0;
    }

    return 0;




/*     Symmetric/Hermitian eigenproblem   



       Symmetric/Hermitian Generalized eigenproblem   



       Singular Value Decomposition   



       Band reduction to bidiagonal form   



       End of SLAHD2 */

} /* slahd2_ */

