alahd.c
Go to the documentation of this file.
00001 /* alahd.f -- translated by f2c (version 20061008).
00002    You must link the resulting object file with libf2c:
00003         on Microsoft Windows system, link with libf2c.lib;
00004         on Linux or Unix systems, link with .../path/to/libf2c.a -lm
00005         or, if you install libf2c.a in a standard place, with -lf2c -lm
00006         -- in that order, at the end of the command line, as in
00007                 cc *.o -lf2c -lm
00008         Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
00009 
00010                 http://www.netlib.org/f2c/libf2c.zip
00011 */
00012 
00013 #include "f2c.h"
00014 #include "blaswrap.h"
00015 
00016 /* Table of constant values */
00017 
00018 static integer c__2 = 2;
00019 static integer c__1 = 1;
00020 static integer c__3 = 3;
00021 static integer c__4 = 4;
00022 static integer c__5 = 5;
00023 static integer c__6 = 6;
00024 static integer c__7 = 7;
00025 static integer c__8 = 8;
00026 
00027 /* Subroutine */ int alahd_(integer *iounit, char *path)
00028 {
00029     /* Format strings */
00030     static char fmt_9999[] = "(/1x,a3,\002:  General dense matrices\002)";
00031     static char fmt_9979[] = "(4x,\0021. Diagonal\002,24x,\0027. Last n/2 co"
00032             "lumns zero\002,/4x,\0022. Upper triangular\002,16x,\0028. Random"
00033             ", CNDNUM = sqrt(0.1/EPS)\002,/4x,\0023. Lower triangular\002,16x,"
00034             "\0029. Random, CNDNUM = 0.1/EPS\002,/4x,\0024. Random, CNDNUM = 2"
00035             "\002,13x,\00210. Scaled near underflow\002,/4x,\0025. First colu"
00036             "mn zero\002,14x,\00211. Scaled near overflow\002,/4x,\0026. Last"
00037             " column zero\002)";
00038     static char fmt_9962[] = "(3x,i2,\002: norm( L * U - A )  / ( N * norm(A"
00039             ") * EPS )\002)";
00040     static char fmt_9961[] = "(3x,i2,\002: norm( I - A*AINV ) / \002,\002( N"
00041             " * norm(A) * norm(AINV) * EPS )\002)";
00042     static char fmt_9960[] = "(3x,i2,\002: norm( B - A * X )  / \002,\002( n"
00043             "orm(A) * norm(X) * EPS )\002)";
00044     static char fmt_9959[] = "(3x,i2,\002: norm( X - XACT )   / \002,\002( n"
00045             "orm(XACT) * CNDNUM * EPS )\002)";
00046     static char fmt_9958[] = "(3x,i2,\002: norm( X - XACT )   / \002,\002( n"
00047             "orm(XACT) * CNDNUM * EPS ), refined\002)";
00048     static char fmt_9957[] = "(3x,i2,\002: norm( X - XACT )   / \002,\002( n"
00049             "orm(XACT) * (error bound) )\002)";
00050     static char fmt_9956[] = "(3x,i2,\002: (backward error)   / EPS\002)";
00051     static char fmt_9955[] = "(3x,i2,\002: RCOND * CNDNUM - 1.0\002)";
00052     static char fmt_9998[] = "(/1x,a3,\002:  General band matrices\002)";
00053     static char fmt_9978[] = "(4x,\0021. Random, CNDNUM = 2\002,14x,\0025. R"
00054             "andom, CNDNUM = sqrt(0.1/EPS)\002,/4x,\0022. First column zer"
00055             "o\002,15x,\0026. Random, CNDNUM = .01/EPS\002,/4x,\0023. Last co"
00056             "lumn zero\002,16x,\0027. Scaled near underflow\002,/4x,\0024. La"
00057             "st n/2 columns zero\002,11x,\0028. Scaled near overflow\002)";
00058     static char fmt_9997[] = "(/1x,a3,\002:  General tridiagonal\002)";
00059     static char fmt_9977[] = "(\002 Matrix types (1-6 have specified conditi"
00060             "on numbers):\002,/4x,\0021. Diagonal\002,24x,\0027. Random, unsp"
00061             "ecified CNDNUM\002,/4x,\0022. Random, CNDNUM = 2\002,14x,\0028. "
00062             "First column zero\002,/4x,\0023. Random, CNDNUM = sqrt(0.1/EPS"
00063             ")\002,2x,\0029. Last column zero\002,/4x,\0024. Random, CNDNUM ="
00064             " 0.1/EPS\002,7x,\00210. Last n/2 columns zero\002,/4x,\0025. Sca"
00065             "led near underflow\002,10x,\00211. Scaled near underflow\002,/4x,"
00066             "\0026. Scaled near overflow\002,11x,\00212. Scaled near overflo"
00067             "w\002)";
00068     static char fmt_9996[] = "(/1x,a3,\002:  \002,a9,\002 positive definite "
00069             "matrices\002)";
00070     static char fmt_9995[] = "(/1x,a3,\002:  \002,a9,\002 positive definite "
00071             "packed matrices\002)";
00072     static char fmt_9975[] = "(4x,\0021. Diagonal\002,24x,\0026. Random, CND"
00073             "NUM = sqrt(0.1/EPS)\002,/4x,\0022. Random, CNDNUM = 2\002,14x"
00074             ",\0027. Random, CNDNUM = 0.1/EPS\002,/3x,\002*3. First row and c"
00075             "olumn zero\002,7x,\0028. Scaled near underflow\002,/3x,\002*4. L"
00076             "ast row and column zero\002,8x,\0029. Scaled near overflow\002,/"
00077             "3x,\002*5. Middle row and column zero\002,/3x,\002(* - tests err"
00078             "or exits from \002,a3,\002TRF, no test ratios are computed)\002)";
00079     static char fmt_9954[] = "(3x,i2,\002: norm( U' * U - A ) / ( N * norm(A"
00080             ") * EPS )\002,\002, or\002,/7x,\002norm( L * L' - A ) / ( N * no"
00081             "rm(A) * EPS )\002)";
00082     static char fmt_8973[] = "(4x,\0021. Diagonal\002,/4x,\0022. Random, CND"
00083             "NUM = 2\002,14x,/3x,\002*3. Nonzero eigenvalues of: D(1:RANK-1)="
00084             "1 and \002,\002D(RANK) = 1.0/\002,a4,/3x,\002*4. Nonzero eigenva"
00085             "lues of: D(1)=1 and \002,\002 D(2:RANK) = 1.0/\002,a4,/3x,\002*5"
00086             ". Nonzero eigenvalues of: D(I) = \002,a4,\002**(-(I-1)/(RANK-1)) "
00087             "\002,\002 I=1:RANK\002,/4x,\0026. Random, CNDNUM = sqrt(0.1/EPS"
00088             ")\002,/4x,\0027. Random, CNDNUM = 0.1/EPS\002,/4x,\0028. Scaled "
00089             "near underflow\002,/4x,\0029. Scaled near overflow\002,/3x,\002("
00090             "* - Semi-definite tests )\002)";
00091     static char fmt_8972[] = "(3x,\002RANK minus computed rank, returned by"
00092             " \002,a,\002PSTRF\002)";
00093     static char fmt_8950[] = "(3x,\002norm( P * U' * U * P' - A ) / ( N * no"
00094             "rm(A) * EPS )\002,\002, or\002,/3x,\002norm( P * L * L' * P' - A"
00095             " ) / ( N * norm(A) * EPS )\002)";
00096     static char fmt_9994[] = "(/1x,a3,\002:  \002,a9,\002 positive definite "
00097             "band matrices\002)";
00098     static char fmt_9973[] = "(4x,\0021. Random, CNDNUM = 2\002,14x,\0025. R"
00099             "andom, CNDNUM = sqrt(0.1/EPS)\002,/3x,\002*2. First row and colu"
00100             "mn zero\002,7x,\0026. Random, CNDNUM = 0.1/EPS\002,/3x,\002*3. L"
00101             "ast row and column zero\002,8x,\0027. Scaled near underflow\002,"
00102             "/3x,\002*4. Middle row and column zero\002,6x,\0028. Scaled near"
00103             " overflow\002,/3x,\002(* - tests error exits from \002,a3,\002TR"
00104             "F, no test ratios are computed)\002)";
00105     static char fmt_9993[] = "(/1x,a3,\002:  \002,a9,\002 positive definite "
00106             "tridiagonal\002)";
00107     static char fmt_9976[] = "(\002 Matrix types (1-6 have specified conditi"
00108             "on numbers):\002,/4x,\0021. Diagonal\002,24x,\0027. Random, unsp"
00109             "ecified CNDNUM\002,/4x,\0022. Random, CNDNUM = 2\002,14x,\0028. "
00110             "First row and column zero\002,/4x,\0023. Random, CNDNUM = sqrt(0"
00111             ".1/EPS)\002,2x,\0029. Last row and column zero\002,/4x,\0024. Ra"
00112             "ndom, CNDNUM = 0.1/EPS\002,7x,\00210. Middle row and column zer"
00113             "o\002,/4x,\0025. Scaled near underflow\002,10x,\00211. Scaled ne"
00114             "ar underflow\002,/4x,\0026. Scaled near overflow\002,11x,\00212."
00115             " Scaled near overflow\002)";
00116     static char fmt_9952[] = "(3x,i2,\002: norm( U'*D*U - A ) / ( N * norm(A"
00117             ") * EPS )\002,\002, or\002,/7x,\002norm( L*D*L' - A ) / ( N * no"
00118             "rm(A) * EPS )\002)";
00119     static char fmt_9992[] = "(/1x,a3,\002:  \002,a9,\002 indefinite matri"
00120             "ces\002)";
00121     static char fmt_9991[] = "(/1x,a3,\002:  \002,a9,\002 indefinite packed "
00122             "matrices\002)";
00123     static char fmt_9972[] = "(4x,\0021. Diagonal\002,24x,\0026. Last n/2 ro"
00124             "ws and columns zero\002,/4x,\0022. Random, CNDNUM = 2\002,14x"
00125             ",\0027. Random, CNDNUM = sqrt(0.1/EPS)\002,/4x,\0023. First row "
00126             "and column zero\002,7x,\0028. Random, CNDNUM = 0.1/EPS\002,/4x"
00127             ",\0024. Last row and column zero\002,8x,\0029. Scaled near under"
00128             "flow\002,/4x,\0025. Middle row and column zero\002,5x,\00210. Sc"
00129             "aled near overflow\002)";
00130     static char fmt_9971[] = "(4x,\0021. Diagonal\002,24x,\0027. Random, CND"
00131             "NUM = sqrt(0.1/EPS)\002,/4x,\0022. Random, CNDNUM = 2\002,14x"
00132             ",\0028. Random, CNDNUM = 0.1/EPS\002,/4x,\0023. First row and co"
00133             "lumn zero\002,7x,\0029. Scaled near underflow\002,/4x,\0024. Las"
00134             "t row and column zero\002,7x,\00210. Scaled near overflow\002,/4"
00135             "x,\0025. Middle row and column zero\002,5x,\00211. Block diagona"
00136             "l matrix\002,/4x,\0026. Last n/2 rows and columns zero\002)";
00137     static char fmt_9953[] = "(3x,i2,\002: norm( U*D*U' - A ) / ( N * norm(A"
00138             ") * EPS )\002,\002, or\002,/7x,\002norm( L*D*L' - A ) / ( N * no"
00139             "rm(A) * EPS )\002)";
00140     static char fmt_9990[] = "(/1x,a3,\002:  Triangular matrices\002)";
00141     static char fmt_9989[] = "(/1x,a3,\002:  Triangular packed matrices\002)";
00142     static char fmt_9966[] = "(\002 Matrix types for \002,a3,\002 routines"
00143             ":\002,/4x,\0021. Diagonal\002,24x,\0026. Scaled near overflow"
00144             "\002,/4x,\0022. Random, CNDNUM = 2\002,14x,\0027. Identity\002,/"
00145             "4x,\0023. Random, CNDNUM = sqrt(0.1/EPS)  \002,\0028. Unit trian"
00146             "gular, CNDNUM = 2\002,/4x,\0024. Random, CNDNUM = 0.1/EPS\002,8x,"
00147             "\0029. Unit, CNDNUM = sqrt(0.1/EPS)\002,/4x,\0025. Scaled near u"
00148             "nderflow\002,10x,\00210. Unit, CNDNUM = 0.1/EPS\002)";
00149     static char fmt_9965[] = "(\002 Special types for testing \002,a,\002"
00150             ":\002,/3x,\00211. Matrix elements are O(1), large right hand side"
00151             "\002,/3x,\00212. First diagonal causes overflow,\002,\002 offdia"
00152             "gonal column norms < 1\002,/3x,\00213. First diagonal causes ove"
00153             "rflow,\002,\002 offdiagonal column norms > 1\002,/3x,\00214. Gro"
00154             "wth factor underflows, solution does not overflow\002,/3x,\00215"
00155             ". Small diagonal causes gradual overflow\002,/3x,\00216. One zer"
00156             "o diagonal element\002,/3x,\00217. Large offdiagonals cause over"
00157             "flow when adding a column\002,/3x,\00218. Unit triangular with l"
00158             "arge right hand side\002)";
00159     static char fmt_9951[] = "(\002 Test ratio for \002,a,\002:\002,/3x,i2"
00160             ",\002: norm( s*b - A*x )  / ( norm(A) * norm(x) * EPS )\002)";
00161     static char fmt_9988[] = "(/1x,a3,\002:  Triangular band matrices\002)";
00162     static char fmt_9964[] = "(\002 Matrix types for \002,a3,\002 routines"
00163             ":\002,/4x,\0021. Random, CNDNUM = 2\002,14x,\0026. Identity\002,"
00164             "/4x,\0022. Random, CNDNUM = sqrt(0.1/EPS)  \002,\0027. Unit tria"
00165             "ngular, CNDNUM = 2\002,/4x,\0023. Random, CNDNUM = 0.1/EPS\002,8"
00166             "x,\0028. Unit, CNDNUM = sqrt(0.1/EPS)\002,/4x,\0024. Scaled near"
00167             " underflow\002,11x,\0029. Unit, CNDNUM = 0.1/EPS\002,/4x,\0025. "
00168             "Scaled near overflow\002)";
00169     static char fmt_9963[] = "(\002 Special types for testing \002,a,\002"
00170             ":\002,/3x,\00210. Matrix elements are O(1), large right hand side"
00171             "\002,/3x,\00211. First diagonal causes overflow,\002,\002 offdia"
00172             "gonal column norms < 1\002,/3x,\00212. First diagonal causes ove"
00173             "rflow,\002,\002 offdiagonal column norms > 1\002,/3x,\00213. Gro"
00174             "wth factor underflows, solution does not overflow\002,/3x,\00214"
00175             ". Small diagonal causes gradual overflow\002,/3x,\00215. One zer"
00176             "o diagonal element\002,/3x,\00216. Large offdiagonals cause over"
00177             "flow when adding a column\002,/3x,\00217. Unit triangular with l"
00178             "arge right hand side\002)";
00179     static char fmt_9987[] = "(/1x,a3,\002:  \002,a2,\002 factorization of g"
00180             "eneral matrices\002)";
00181     static char fmt_9970[] = "(4x,\0021. Diagonal\002,24x,\0025. Random, CND"
00182             "NUM = sqrt(0.1/EPS)\002,/4x,\0022. Upper triangular\002,16x,\002"
00183             "6. Random, CNDNUM = 0.1/EPS\002,/4x,\0023. Lower triangular\002,"
00184             "16x,\0027. Scaled near underflow\002,/4x,\0024. Random, CNDNUM ="
00185             " 2\002,14x,\0028. Scaled near overflow\002)";
00186     static char fmt_9950[] = "(3x,i2,\002: norm( R - Q' * A ) / ( M * norm(A"
00187             ") * EPS )\002)";
00188     static char fmt_9946[] = "(3x,i2,\002: norm( I - Q'*Q )   / ( M * EPS "
00189             ")\002)";
00190     static char fmt_9944[] = "(3x,i2,\002: norm( Q*C - Q*C )  / \002,\002("
00191             " \002,a1,\002 * norm(C) * EPS )\002)";
00192     static char fmt_9943[] = "(3x,i2,\002: norm( C*Q - C*Q )  / \002,\002("
00193             " \002,a1,\002 * norm(C) * EPS )\002)";
00194     static char fmt_9942[] = "(3x,i2,\002: norm( Q'*C - Q'*C )/ \002,\002("
00195             " \002,a1,\002 * norm(C) * EPS )\002)";
00196     static char fmt_9941[] = "(3x,i2,\002: norm( C*Q' - C*Q' )/ \002,\002("
00197             " \002,a1,\002 * norm(C) * EPS )\002)";
00198     static char fmt_6660[] = "(3x,i2,\002: diagonal is not non-negative\002)";
00199     static char fmt_9949[] = "(3x,i2,\002: norm( L - A * Q' ) / ( N * norm(A"
00200             ") * EPS )\002)";
00201     static char fmt_9945[] = "(3x,i2,\002: norm( I - Q*Q' )   / ( N * EPS "
00202             ")\002)";
00203     static char fmt_9948[] = "(3x,i2,\002: norm( L - Q' * A ) / ( M * norm(A"
00204             ") * EPS )\002)";
00205     static char fmt_9947[] = "(3x,i2,\002: norm( R - A * Q' ) / ( N * norm(A"
00206             ") * EPS )\002)";
00207     static char fmt_9986[] = "(/1x,a3,\002:  QR factorization with column pi"
00208             "voting\002)";
00209     static char fmt_9969[] = "(\002 Matrix types (2-6 have condition 1/EPS)"
00210             ":\002,/4x,\0021. Zero matrix\002,21x,\0024. First n/2 columns fi"
00211             "xed\002,/4x,\0022. One small eigenvalue\002,12x,\0025. Last n/2 "
00212             "columns fixed\002,/4x,\0023. Geometric distribution\002,10x,\002"
00213             "6. Every second column fixed\002)";
00214     static char fmt_9940[] = "(3x,i2,\002: norm(svd(A) - svd(R)) / \002,\002"
00215             "( M * norm(svd(R)) * EPS )\002)";
00216     static char fmt_9939[] = "(3x,i2,\002: norm( A*P - Q*R )     / ( M * nor"
00217             "m(A) * EPS )\002)";
00218     static char fmt_9938[] = "(3x,i2,\002: norm( I - Q'*Q )      / ( M * EPS"
00219             " )\002)";
00220     static char fmt_9985[] = "(/1x,a3,\002:  RQ factorization of trapezoidal"
00221             " matrix\002)";
00222     static char fmt_9968[] = "(\002 Matrix types (2-3 have condition 1/EPS)"
00223             ":\002,/4x,\0021. Zero matrix\002,/4x,\0022. One small eigenvalu"
00224             "e\002,/4x,\0023. Geometric distribution\002)";
00225     static char fmt_9929[] = "(\002 Test ratios (1-3: \002,a1,\002TZRQF, 4-6"
00226             ": \002,a1,\002TZRZF):\002)";
00227     static char fmt_9937[] = "(3x,i2,\002: norm( A - R*Q )       / ( M * nor"
00228             "m(A) * EPS )\002)";
00229     static char fmt_9984[] = "(/1x,a3,\002:  Least squares driver routine"
00230             "s\002)";
00231     static char fmt_9967[] = "(\002 Matrix types (1-3: full rank, 4-6: rank "
00232             "deficient):\002,/4x,\0021 and 4. Normal scaling\002,/4x,\0022 an"
00233             "d 5. Scaled near overflow\002,/4x,\0023 and 6. Scaled near under"
00234             "flow\002)";
00235     static char fmt_9921[] = "(\002 Test ratios:\002,/\002    (1-2: \002,a1"
00236             ",\002GELS, 3-6: \002,a1,\002GELSX, 7-10: \002,a1,\002GELSY, 11-1"
00237             "4: \002,a1,\002GELSS, 15-18: \002,a1,\002GELSD)\002)";
00238     static char fmt_9935[] = "(3x,i2,\002: norm( B - A * X )   / \002,\002( "
00239             "max(M,N) * norm(A) * norm(X) * EPS )\002)";
00240     static char fmt_9931[] = "(3x,i2,\002: norm( (A*X-B)' *A ) / \002,\002( "
00241             "max(M,N,NRHS) * norm(A) * norm(B) * EPS )\002,/7x,\002if TRANS='"
00242             "N' and M.GE.N or TRANS='T' and M.LT.N, \002,\002otherwise\002,/7"
00243             "x,\002check if X is in the row space of A or A' \002,\002(overde"
00244             "termined case)\002)";
00245     static char fmt_9933[] = "(3x,i2,\002: norm(svd(A)-svd(R)) / \002,\002( "
00246             "min(M,N) * norm(svd(R)) * EPS )\002)";
00247     static char fmt_9934[] = "(3x,i2,\002: norm( (A*X-B)' *A ) / \002,\002( "
00248             "max(M,N,NRHS) * norm(A) * norm(B) * EPS )\002)";
00249     static char fmt_9932[] = "(3x,i2,\002: Check if X is in the row space of"
00250             " A or A'\002)";
00251     static char fmt_9920[] = "(3x,\002 7-10: same as 3-6\002,3x,\002 11-14: "
00252             "same as 3-6\002,3x,\002 15-18: same as 3-6\002)";
00253     static char fmt_9983[] = "(/1x,a3,\002:  LU factorization variants\002)";
00254     static char fmt_9982[] = "(/1x,a3,\002:  Cholesky factorization variant"
00255             "s\002)";
00256     static char fmt_9974[] = "(4x,\0021. Diagonal\002,24x,\0026. Random, CND"
00257             "NUM = sqrt(0.1/EPS)\002,/4x,\0022. Random, CNDNUM = 2\002,14x"
00258             ",\0027. Random, CNDNUM = 0.1/EPS\002,/3x,\002*3. First row and c"
00259             "olumn zero\002,7x,\0028. Scaled near underflow\002,/3x,\002*4. L"
00260             "ast row and column zero\002,8x,\0029. Scaled near overflow\002,/"
00261             "3x,\002*5. Middle row and column zero\002,/3x,\002(* - tests err"
00262             "or exits, no test ratios are computed)\002)";
00263     static char fmt_9981[] = "(/1x,a3,\002:  QR factorization variants\002)";
00264     static char fmt_9980[] = "(/1x,a3,\002:  No header available\002)";
00265 
00266     /* System generated locals */
00267     address a__1[2];
00268     integer i__1[2];
00269     cilist ci__1;
00270 
00271     /* Builtin functions */
00272     /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);
00273     integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);
00274     /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen);
00275     integer i_len_trim(char *, ftnlen);
00276 
00277     /* Local variables */
00278     char c1[1], c3[1], p2[2], sym[9];
00279     logical sord, corz;
00280     extern logical lsame_(char *, char *);
00281     char eigcnm[4];
00282     extern logical lsamen_(integer *, char *, char *);
00283     char subnam[32];
00284 
00285     /* Fortran I/O blocks */
00286     static cilist io___6 = { 0, 0, 0, fmt_9999, 0 };
00287     static cilist io___7 = { 0, 0, 0, fmt_9979, 0 };
00288     static cilist io___8 = { 0, 0, 0, fmt_9962, 0 };
00289     static cilist io___9 = { 0, 0, 0, fmt_9961, 0 };
00290     static cilist io___10 = { 0, 0, 0, fmt_9960, 0 };
00291     static cilist io___11 = { 0, 0, 0, fmt_9959, 0 };
00292     static cilist io___12 = { 0, 0, 0, fmt_9958, 0 };
00293     static cilist io___13 = { 0, 0, 0, fmt_9957, 0 };
00294     static cilist io___14 = { 0, 0, 0, fmt_9956, 0 };
00295     static cilist io___15 = { 0, 0, 0, fmt_9955, 0 };
00296     static cilist io___16 = { 0, 0, 0, fmt_9998, 0 };
00297     static cilist io___17 = { 0, 0, 0, fmt_9978, 0 };
00298     static cilist io___18 = { 0, 0, 0, fmt_9962, 0 };
00299     static cilist io___19 = { 0, 0, 0, fmt_9960, 0 };
00300     static cilist io___20 = { 0, 0, 0, fmt_9959, 0 };
00301     static cilist io___21 = { 0, 0, 0, fmt_9958, 0 };
00302     static cilist io___22 = { 0, 0, 0, fmt_9957, 0 };
00303     static cilist io___23 = { 0, 0, 0, fmt_9956, 0 };
00304     static cilist io___24 = { 0, 0, 0, fmt_9955, 0 };
00305     static cilist io___25 = { 0, 0, 0, fmt_9997, 0 };
00306     static cilist io___26 = { 0, 0, 0, fmt_9977, 0 };
00307     static cilist io___27 = { 0, 0, 0, fmt_9962, 0 };
00308     static cilist io___28 = { 0, 0, 0, fmt_9960, 0 };
00309     static cilist io___29 = { 0, 0, 0, fmt_9959, 0 };
00310     static cilist io___30 = { 0, 0, 0, fmt_9958, 0 };
00311     static cilist io___31 = { 0, 0, 0, fmt_9957, 0 };
00312     static cilist io___32 = { 0, 0, 0, fmt_9956, 0 };
00313     static cilist io___33 = { 0, 0, 0, fmt_9955, 0 };
00314     static cilist io___35 = { 0, 0, 0, fmt_9996, 0 };
00315     static cilist io___36 = { 0, 0, 0, fmt_9995, 0 };
00316     static cilist io___37 = { 0, 0, 0, fmt_9975, 0 };
00317     static cilist io___38 = { 0, 0, 0, fmt_9954, 0 };
00318     static cilist io___39 = { 0, 0, 0, fmt_9961, 0 };
00319     static cilist io___40 = { 0, 0, 0, fmt_9960, 0 };
00320     static cilist io___41 = { 0, 0, 0, fmt_9959, 0 };
00321     static cilist io___42 = { 0, 0, 0, fmt_9958, 0 };
00322     static cilist io___43 = { 0, 0, 0, fmt_9957, 0 };
00323     static cilist io___44 = { 0, 0, 0, fmt_9956, 0 };
00324     static cilist io___45 = { 0, 0, 0, fmt_9955, 0 };
00325     static cilist io___47 = { 0, 0, 0, fmt_9995, 0 };
00326     static cilist io___48 = { 0, 0, 0, fmt_8973, 0 };
00327     static cilist io___49 = { 0, 0, 0, fmt_8972, 0 };
00328     static cilist io___50 = { 0, 0, 0, fmt_8950, 0 };
00329     static cilist io___51 = { 0, 0, 0, fmt_9994, 0 };
00330     static cilist io___52 = { 0, 0, 0, fmt_9994, 0 };
00331     static cilist io___53 = { 0, 0, 0, fmt_9973, 0 };
00332     static cilist io___54 = { 0, 0, 0, fmt_9954, 0 };
00333     static cilist io___55 = { 0, 0, 0, fmt_9960, 0 };
00334     static cilist io___56 = { 0, 0, 0, fmt_9959, 0 };
00335     static cilist io___57 = { 0, 0, 0, fmt_9958, 0 };
00336     static cilist io___58 = { 0, 0, 0, fmt_9957, 0 };
00337     static cilist io___59 = { 0, 0, 0, fmt_9956, 0 };
00338     static cilist io___60 = { 0, 0, 0, fmt_9955, 0 };
00339     static cilist io___61 = { 0, 0, 0, fmt_9993, 0 };
00340     static cilist io___62 = { 0, 0, 0, fmt_9993, 0 };
00341     static cilist io___63 = { 0, 0, 0, fmt_9976, 0 };
00342     static cilist io___64 = { 0, 0, 0, fmt_9952, 0 };
00343     static cilist io___65 = { 0, 0, 0, fmt_9960, 0 };
00344     static cilist io___66 = { 0, 0, 0, fmt_9959, 0 };
00345     static cilist io___67 = { 0, 0, 0, fmt_9958, 0 };
00346     static cilist io___68 = { 0, 0, 0, fmt_9957, 0 };
00347     static cilist io___69 = { 0, 0, 0, fmt_9956, 0 };
00348     static cilist io___70 = { 0, 0, 0, fmt_9955, 0 };
00349     static cilist io___71 = { 0, 0, 0, fmt_9992, 0 };
00350     static cilist io___72 = { 0, 0, 0, fmt_9991, 0 };
00351     static cilist io___73 = { 0, 0, 0, fmt_9972, 0 };
00352     static cilist io___74 = { 0, 0, 0, fmt_9971, 0 };
00353     static cilist io___75 = { 0, 0, 0, fmt_9953, 0 };
00354     static cilist io___76 = { 0, 0, 0, fmt_9961, 0 };
00355     static cilist io___77 = { 0, 0, 0, fmt_9960, 0 };
00356     static cilist io___78 = { 0, 0, 0, fmt_9959, 0 };
00357     static cilist io___79 = { 0, 0, 0, fmt_9958, 0 };
00358     static cilist io___80 = { 0, 0, 0, fmt_9956, 0 };
00359     static cilist io___81 = { 0, 0, 0, fmt_9957, 0 };
00360     static cilist io___82 = { 0, 0, 0, fmt_9955, 0 };
00361     static cilist io___83 = { 0, 0, 0, fmt_9992, 0 };
00362     static cilist io___84 = { 0, 0, 0, fmt_9991, 0 };
00363     static cilist io___85 = { 0, 0, 0, fmt_9972, 0 };
00364     static cilist io___86 = { 0, 0, 0, fmt_9953, 0 };
00365     static cilist io___87 = { 0, 0, 0, fmt_9961, 0 };
00366     static cilist io___88 = { 0, 0, 0, fmt_9960, 0 };
00367     static cilist io___89 = { 0, 0, 0, fmt_9959, 0 };
00368     static cilist io___90 = { 0, 0, 0, fmt_9958, 0 };
00369     static cilist io___91 = { 0, 0, 0, fmt_9956, 0 };
00370     static cilist io___92 = { 0, 0, 0, fmt_9957, 0 };
00371     static cilist io___93 = { 0, 0, 0, fmt_9955, 0 };
00372     static cilist io___94 = { 0, 0, 0, fmt_9990, 0 };
00373     static cilist io___96 = { 0, 0, 0, fmt_9989, 0 };
00374     static cilist io___97 = { 0, 0, 0, fmt_9966, 0 };
00375     static cilist io___98 = { 0, 0, 0, fmt_9965, 0 };
00376     static cilist io___99 = { 0, 0, 0, fmt_9961, 0 };
00377     static cilist io___100 = { 0, 0, 0, fmt_9960, 0 };
00378     static cilist io___101 = { 0, 0, 0, fmt_9959, 0 };
00379     static cilist io___102 = { 0, 0, 0, fmt_9958, 0 };
00380     static cilist io___103 = { 0, 0, 0, fmt_9957, 0 };
00381     static cilist io___104 = { 0, 0, 0, fmt_9956, 0 };
00382     static cilist io___105 = { 0, 0, 0, fmt_9955, 0 };
00383     static cilist io___106 = { 0, 0, 0, fmt_9951, 0 };
00384     static cilist io___107 = { 0, 0, 0, fmt_9988, 0 };
00385     static cilist io___108 = { 0, 0, 0, fmt_9964, 0 };
00386     static cilist io___109 = { 0, 0, 0, fmt_9963, 0 };
00387     static cilist io___110 = { 0, 0, 0, fmt_9960, 0 };
00388     static cilist io___111 = { 0, 0, 0, fmt_9959, 0 };
00389     static cilist io___112 = { 0, 0, 0, fmt_9958, 0 };
00390     static cilist io___113 = { 0, 0, 0, fmt_9957, 0 };
00391     static cilist io___114 = { 0, 0, 0, fmt_9956, 0 };
00392     static cilist io___115 = { 0, 0, 0, fmt_9955, 0 };
00393     static cilist io___116 = { 0, 0, 0, fmt_9951, 0 };
00394     static cilist io___117 = { 0, 0, 0, fmt_9987, 0 };
00395     static cilist io___118 = { 0, 0, 0, fmt_9970, 0 };
00396     static cilist io___119 = { 0, 0, 0, fmt_9950, 0 };
00397     static cilist io___120 = { 0, 0, 0, fmt_9946, 0 };
00398     static cilist io___121 = { 0, 0, 0, fmt_9944, 0 };
00399     static cilist io___122 = { 0, 0, 0, fmt_9943, 0 };
00400     static cilist io___123 = { 0, 0, 0, fmt_9942, 0 };
00401     static cilist io___124 = { 0, 0, 0, fmt_9941, 0 };
00402     static cilist io___125 = { 0, 0, 0, fmt_9960, 0 };
00403     static cilist io___126 = { 0, 0, 0, fmt_6660, 0 };
00404     static cilist io___127 = { 0, 0, 0, fmt_9987, 0 };
00405     static cilist io___128 = { 0, 0, 0, fmt_9970, 0 };
00406     static cilist io___129 = { 0, 0, 0, fmt_9949, 0 };
00407     static cilist io___130 = { 0, 0, 0, fmt_9945, 0 };
00408     static cilist io___131 = { 0, 0, 0, fmt_9944, 0 };
00409     static cilist io___132 = { 0, 0, 0, fmt_9943, 0 };
00410     static cilist io___133 = { 0, 0, 0, fmt_9942, 0 };
00411     static cilist io___134 = { 0, 0, 0, fmt_9941, 0 };
00412     static cilist io___135 = { 0, 0, 0, fmt_9960, 0 };
00413     static cilist io___136 = { 0, 0, 0, fmt_9987, 0 };
00414     static cilist io___137 = { 0, 0, 0, fmt_9970, 0 };
00415     static cilist io___138 = { 0, 0, 0, fmt_9948, 0 };
00416     static cilist io___139 = { 0, 0, 0, fmt_9946, 0 };
00417     static cilist io___140 = { 0, 0, 0, fmt_9944, 0 };
00418     static cilist io___141 = { 0, 0, 0, fmt_9943, 0 };
00419     static cilist io___142 = { 0, 0, 0, fmt_9942, 0 };
00420     static cilist io___143 = { 0, 0, 0, fmt_9941, 0 };
00421     static cilist io___144 = { 0, 0, 0, fmt_9960, 0 };
00422     static cilist io___145 = { 0, 0, 0, fmt_9987, 0 };
00423     static cilist io___146 = { 0, 0, 0, fmt_9970, 0 };
00424     static cilist io___147 = { 0, 0, 0, fmt_9947, 0 };
00425     static cilist io___148 = { 0, 0, 0, fmt_9945, 0 };
00426     static cilist io___149 = { 0, 0, 0, fmt_9944, 0 };
00427     static cilist io___150 = { 0, 0, 0, fmt_9943, 0 };
00428     static cilist io___151 = { 0, 0, 0, fmt_9942, 0 };
00429     static cilist io___152 = { 0, 0, 0, fmt_9941, 0 };
00430     static cilist io___153 = { 0, 0, 0, fmt_9960, 0 };
00431     static cilist io___154 = { 0, 0, 0, fmt_9986, 0 };
00432     static cilist io___155 = { 0, 0, 0, fmt_9969, 0 };
00433     static cilist io___156 = { 0, 0, 0, fmt_9940, 0 };
00434     static cilist io___157 = { 0, 0, 0, fmt_9939, 0 };
00435     static cilist io___158 = { 0, 0, 0, fmt_9938, 0 };
00436     static cilist io___159 = { 0, 0, 0, fmt_9985, 0 };
00437     static cilist io___160 = { 0, 0, 0, fmt_9968, 0 };
00438     static cilist io___161 = { 0, 0, 0, fmt_9929, 0 };
00439     static cilist io___162 = { 0, 0, 0, fmt_9940, 0 };
00440     static cilist io___163 = { 0, 0, 0, fmt_9937, 0 };
00441     static cilist io___164 = { 0, 0, 0, fmt_9938, 0 };
00442     static cilist io___165 = { 0, 0, 0, fmt_9940, 0 };
00443     static cilist io___166 = { 0, 0, 0, fmt_9937, 0 };
00444     static cilist io___167 = { 0, 0, 0, fmt_9938, 0 };
00445     static cilist io___168 = { 0, 0, 0, fmt_9984, 0 };
00446     static cilist io___169 = { 0, 0, 0, fmt_9967, 0 };
00447     static cilist io___170 = { 0, 0, 0, fmt_9921, 0 };
00448     static cilist io___171 = { 0, 0, 0, fmt_9935, 0 };
00449     static cilist io___172 = { 0, 0, 0, fmt_9931, 0 };
00450     static cilist io___173 = { 0, 0, 0, fmt_9933, 0 };
00451     static cilist io___174 = { 0, 0, 0, fmt_9935, 0 };
00452     static cilist io___175 = { 0, 0, 0, fmt_9934, 0 };
00453     static cilist io___176 = { 0, 0, 0, fmt_9932, 0 };
00454     static cilist io___177 = { 0, 0, 0, fmt_9920, 0 };
00455     static cilist io___178 = { 0, 0, 0, fmt_9983, 0 };
00456     static cilist io___179 = { 0, 0, 0, fmt_9979, 0 };
00457     static cilist io___180 = { 0, 0, 0, fmt_9962, 0 };
00458     static cilist io___181 = { 0, 0, 0, fmt_9982, 0 };
00459     static cilist io___182 = { 0, 0, 0, fmt_9974, 0 };
00460     static cilist io___183 = { 0, 0, 0, fmt_9954, 0 };
00461     static cilist io___184 = { 0, 0, 0, fmt_9981, 0 };
00462     static cilist io___185 = { 0, 0, 0, fmt_9970, 0 };
00463     static cilist io___186 = { 0, 0, 0, fmt_9980, 0 };
00464 
00465 
00466 
00467 /*  -- LAPACK test routine (version 3.1) -- */
00468 /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
00469 /*     November 2006 */
00470 
00471 /*     .. Scalar Arguments .. */
00472 /*     .. */
00473 
00474 /*  Purpose */
00475 /*  ======= */
00476 
00477 /*  ALAHD prints header information for the different test paths. */
00478 
00479 /*  Arguments */
00480 /*  ========= */
00481 
00482 /*  IOUNIT  (input) INTEGER */
00483 /*          The unit number to which the header information should be */
00484 /*          printed. */
00485 
00486 /*  PATH    (input) CHARACTER*3 */
00487 /*          The name of the path for which the header information is to */
00488 /*          be printed.  Current paths are */
00489 /*             _GE:  General matrices */
00490 /*             _GB:  General band */
00491 /*             _GT:  General Tridiagonal */
00492 /*             _PO:  Symmetric or Hermitian positive definite */
00493 /*             _PS:  Symmetric or Hermitian positive semi-definite */
00494 /*             _PP:  Symmetric or Hermitian positive definite packed */
00495 /*             _PB:  Symmetric or Hermitian positive definite band */
00496 /*             _PT:  Symmetric or Hermitian positive definite tridiagonal */
00497 /*             _SY:  Symmetric indefinite */
00498 /*             _SP:  Symmetric indefinite packed */
00499 /*             _HE:  (complex) Hermitian indefinite */
00500 /*             _HP:  (complex) Hermitian indefinite packed */
00501 /*             _TR:  Triangular */
00502 /*             _TP:  Triangular packed */
00503 /*             _TB:  Triangular band */
00504 /*             _QR:  QR (general matrices) */
00505 /*             _LQ:  LQ (general matrices) */
00506 /*             _QL:  QL (general matrices) */
00507 /*             _RQ:  RQ (general matrices) */
00508 /*             _QP:  QR with column pivoting */
00509 /*             _TZ:  Trapezoidal */
00510 /*             _LS:  Least Squares driver routines */
00511 /*             _LU:  LU variants */
00512 /*             _CH:  Cholesky variants */
00513 /*             _QS:  QR variants */
00514 /*          The first character must be one of S, D, C, or Z (C or Z only */
00515 /*          if complex). */
00516 
00517 /*  ===================================================================== */
00518 
00519 /*     .. Local Scalars .. */
00520 /*     .. */
00521 /*     .. External Functions .. */
00522 /*     .. */
00523 /*     .. Intrinsic Functions .. */
00524 /*     .. */
00525 /*     .. Executable Statements .. */
00526 
00527     if (*iounit <= 0) {
00528         return 0;
00529     }
00530     *(unsigned char *)c1 = *(unsigned char *)path;
00531     *(unsigned char *)c3 = *(unsigned char *)&path[2];
00532     s_copy(p2, path + 1, (ftnlen)2, (ftnlen)2);
00533     sord = lsame_(c1, "S") || lsame_(c1, "D");
00534     corz = lsame_(c1, "C") || lsame_(c1, "Z");
00535     if (! (sord || corz)) {
00536         return 0;
00537     }
00538 
00539     if (lsamen_(&c__2, p2, "GE")) {
00540 
00541 /*        GE: General dense */
00542 
00543         io___6.ciunit = *iounit;
00544         s_wsfe(&io___6);
00545         do_fio(&c__1, path, (ftnlen)3);
00546         e_wsfe();
00547         ci__1.cierr = 0;
00548         ci__1.ciunit = *iounit;
00549         ci__1.cifmt = "( ' Matrix types:' )";
00550         s_wsfe(&ci__1);
00551         e_wsfe();
00552         io___7.ciunit = *iounit;
00553         s_wsfe(&io___7);
00554         e_wsfe();
00555         ci__1.cierr = 0;
00556         ci__1.ciunit = *iounit;
00557         ci__1.cifmt = "( ' Test ratios:' )";
00558         s_wsfe(&ci__1);
00559         e_wsfe();
00560         io___8.ciunit = *iounit;
00561         s_wsfe(&io___8);
00562         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00563         e_wsfe();
00564         io___9.ciunit = *iounit;
00565         s_wsfe(&io___9);
00566         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00567         e_wsfe();
00568         io___10.ciunit = *iounit;
00569         s_wsfe(&io___10);
00570         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00571         e_wsfe();
00572         io___11.ciunit = *iounit;
00573         s_wsfe(&io___11);
00574         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00575         e_wsfe();
00576         io___12.ciunit = *iounit;
00577         s_wsfe(&io___12);
00578         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00579         e_wsfe();
00580         io___13.ciunit = *iounit;
00581         s_wsfe(&io___13);
00582         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00583         e_wsfe();
00584         io___14.ciunit = *iounit;
00585         s_wsfe(&io___14);
00586         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00587         e_wsfe();
00588         io___15.ciunit = *iounit;
00589         s_wsfe(&io___15);
00590         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
00591         e_wsfe();
00592         ci__1.cierr = 0;
00593         ci__1.ciunit = *iounit;
00594         ci__1.cifmt = "( ' Messages:' )";
00595         s_wsfe(&ci__1);
00596         e_wsfe();
00597 
00598     } else if (lsamen_(&c__2, p2, "GB")) {
00599 
00600 /*        GB: General band */
00601 
00602         io___16.ciunit = *iounit;
00603         s_wsfe(&io___16);
00604         do_fio(&c__1, path, (ftnlen)3);
00605         e_wsfe();
00606         ci__1.cierr = 0;
00607         ci__1.ciunit = *iounit;
00608         ci__1.cifmt = "( ' Matrix types:' )";
00609         s_wsfe(&ci__1);
00610         e_wsfe();
00611         io___17.ciunit = *iounit;
00612         s_wsfe(&io___17);
00613         e_wsfe();
00614         ci__1.cierr = 0;
00615         ci__1.ciunit = *iounit;
00616         ci__1.cifmt = "( ' Test ratios:' )";
00617         s_wsfe(&ci__1);
00618         e_wsfe();
00619         io___18.ciunit = *iounit;
00620         s_wsfe(&io___18);
00621         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00622         e_wsfe();
00623         io___19.ciunit = *iounit;
00624         s_wsfe(&io___19);
00625         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00626         e_wsfe();
00627         io___20.ciunit = *iounit;
00628         s_wsfe(&io___20);
00629         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00630         e_wsfe();
00631         io___21.ciunit = *iounit;
00632         s_wsfe(&io___21);
00633         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00634         e_wsfe();
00635         io___22.ciunit = *iounit;
00636         s_wsfe(&io___22);
00637         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00638         e_wsfe();
00639         io___23.ciunit = *iounit;
00640         s_wsfe(&io___23);
00641         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00642         e_wsfe();
00643         io___24.ciunit = *iounit;
00644         s_wsfe(&io___24);
00645         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00646         e_wsfe();
00647         ci__1.cierr = 0;
00648         ci__1.ciunit = *iounit;
00649         ci__1.cifmt = "( ' Messages:' )";
00650         s_wsfe(&ci__1);
00651         e_wsfe();
00652 
00653     } else if (lsamen_(&c__2, p2, "GT")) {
00654 
00655 /*        GT: General tridiagonal */
00656 
00657         io___25.ciunit = *iounit;
00658         s_wsfe(&io___25);
00659         do_fio(&c__1, path, (ftnlen)3);
00660         e_wsfe();
00661         io___26.ciunit = *iounit;
00662         s_wsfe(&io___26);
00663         e_wsfe();
00664         ci__1.cierr = 0;
00665         ci__1.ciunit = *iounit;
00666         ci__1.cifmt = "( ' Test ratios:' )";
00667         s_wsfe(&ci__1);
00668         e_wsfe();
00669         io___27.ciunit = *iounit;
00670         s_wsfe(&io___27);
00671         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00672         e_wsfe();
00673         io___28.ciunit = *iounit;
00674         s_wsfe(&io___28);
00675         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00676         e_wsfe();
00677         io___29.ciunit = *iounit;
00678         s_wsfe(&io___29);
00679         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00680         e_wsfe();
00681         io___30.ciunit = *iounit;
00682         s_wsfe(&io___30);
00683         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00684         e_wsfe();
00685         io___31.ciunit = *iounit;
00686         s_wsfe(&io___31);
00687         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00688         e_wsfe();
00689         io___32.ciunit = *iounit;
00690         s_wsfe(&io___32);
00691         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00692         e_wsfe();
00693         io___33.ciunit = *iounit;
00694         s_wsfe(&io___33);
00695         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00696         e_wsfe();
00697         ci__1.cierr = 0;
00698         ci__1.ciunit = *iounit;
00699         ci__1.cifmt = "( ' Messages:' )";
00700         s_wsfe(&ci__1);
00701         e_wsfe();
00702 
00703     } else if (lsamen_(&c__2, p2, "PO") || lsamen_(&
00704             c__2, p2, "PP")) {
00705 
00706 /*        PO: Positive definite full */
00707 /*        PP: Positive definite packed */
00708 
00709         if (sord) {
00710             s_copy(sym, "Symmetric", (ftnlen)9, (ftnlen)9);
00711         } else {
00712             s_copy(sym, "Hermitian", (ftnlen)9, (ftnlen)9);
00713         }
00714         if (lsame_(c3, "O")) {
00715             io___35.ciunit = *iounit;
00716             s_wsfe(&io___35);
00717             do_fio(&c__1, path, (ftnlen)3);
00718             do_fio(&c__1, sym, (ftnlen)9);
00719             e_wsfe();
00720         } else {
00721             io___36.ciunit = *iounit;
00722             s_wsfe(&io___36);
00723             do_fio(&c__1, path, (ftnlen)3);
00724             do_fio(&c__1, sym, (ftnlen)9);
00725             e_wsfe();
00726         }
00727         ci__1.cierr = 0;
00728         ci__1.ciunit = *iounit;
00729         ci__1.cifmt = "( ' Matrix types:' )";
00730         s_wsfe(&ci__1);
00731         e_wsfe();
00732         io___37.ciunit = *iounit;
00733         s_wsfe(&io___37);
00734         do_fio(&c__1, path, (ftnlen)3);
00735         e_wsfe();
00736         ci__1.cierr = 0;
00737         ci__1.ciunit = *iounit;
00738         ci__1.cifmt = "( ' Test ratios:' )";
00739         s_wsfe(&ci__1);
00740         e_wsfe();
00741         io___38.ciunit = *iounit;
00742         s_wsfe(&io___38);
00743         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00744         e_wsfe();
00745         io___39.ciunit = *iounit;
00746         s_wsfe(&io___39);
00747         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00748         e_wsfe();
00749         io___40.ciunit = *iounit;
00750         s_wsfe(&io___40);
00751         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00752         e_wsfe();
00753         io___41.ciunit = *iounit;
00754         s_wsfe(&io___41);
00755         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00756         e_wsfe();
00757         io___42.ciunit = *iounit;
00758         s_wsfe(&io___42);
00759         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00760         e_wsfe();
00761         io___43.ciunit = *iounit;
00762         s_wsfe(&io___43);
00763         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00764         e_wsfe();
00765         io___44.ciunit = *iounit;
00766         s_wsfe(&io___44);
00767         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00768         e_wsfe();
00769         io___45.ciunit = *iounit;
00770         s_wsfe(&io___45);
00771         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
00772         e_wsfe();
00773         ci__1.cierr = 0;
00774         ci__1.ciunit = *iounit;
00775         ci__1.cifmt = "( ' Messages:' )";
00776         s_wsfe(&ci__1);
00777         e_wsfe();
00778 
00779     } else if (lsamen_(&c__2, p2, "PS")) {
00780 
00781 /*        PS: Positive semi-definite full */
00782 
00783         if (sord) {
00784             s_copy(sym, "Symmetric", (ftnlen)9, (ftnlen)9);
00785         } else {
00786             s_copy(sym, "Hermitian", (ftnlen)9, (ftnlen)9);
00787         }
00788         if (lsame_(c1, "S") || lsame_(c1, "C")) {
00789             s_copy(eigcnm, "1E04", (ftnlen)4, (ftnlen)4);
00790         } else {
00791             s_copy(eigcnm, "1D12", (ftnlen)4, (ftnlen)4);
00792         }
00793         io___47.ciunit = *iounit;
00794         s_wsfe(&io___47);
00795         do_fio(&c__1, path, (ftnlen)3);
00796         do_fio(&c__1, sym, (ftnlen)9);
00797         e_wsfe();
00798         ci__1.cierr = 0;
00799         ci__1.ciunit = *iounit;
00800         ci__1.cifmt = "( ' Matrix types:' )";
00801         s_wsfe(&ci__1);
00802         e_wsfe();
00803         io___48.ciunit = *iounit;
00804         s_wsfe(&io___48);
00805         do_fio(&c__1, eigcnm, (ftnlen)4);
00806         do_fio(&c__1, eigcnm, (ftnlen)4);
00807         do_fio(&c__1, eigcnm, (ftnlen)4);
00808         e_wsfe();
00809         ci__1.cierr = 0;
00810         ci__1.ciunit = *iounit;
00811         ci__1.cifmt = "( ' Difference:' )";
00812         s_wsfe(&ci__1);
00813         e_wsfe();
00814         io___49.ciunit = *iounit;
00815         s_wsfe(&io___49);
00816         do_fio(&c__1, c1, (ftnlen)1);
00817         e_wsfe();
00818         ci__1.cierr = 0;
00819         ci__1.ciunit = *iounit;
00820         ci__1.cifmt = "( ' Test ratio:' )";
00821         s_wsfe(&ci__1);
00822         e_wsfe();
00823         io___50.ciunit = *iounit;
00824         s_wsfe(&io___50);
00825         e_wsfe();
00826         ci__1.cierr = 0;
00827         ci__1.ciunit = *iounit;
00828         ci__1.cifmt = "( ' Messages:' )";
00829         s_wsfe(&ci__1);
00830         e_wsfe();
00831     } else if (lsamen_(&c__2, p2, "PB")) {
00832 
00833 /*        PB: Positive definite band */
00834 
00835         if (sord) {
00836             io___51.ciunit = *iounit;
00837             s_wsfe(&io___51);
00838             do_fio(&c__1, path, (ftnlen)3);
00839             do_fio(&c__1, "Symmetric", (ftnlen)9);
00840             e_wsfe();
00841         } else {
00842             io___52.ciunit = *iounit;
00843             s_wsfe(&io___52);
00844             do_fio(&c__1, path, (ftnlen)3);
00845             do_fio(&c__1, "Hermitian", (ftnlen)9);
00846             e_wsfe();
00847         }
00848         ci__1.cierr = 0;
00849         ci__1.ciunit = *iounit;
00850         ci__1.cifmt = "( ' Matrix types:' )";
00851         s_wsfe(&ci__1);
00852         e_wsfe();
00853         io___53.ciunit = *iounit;
00854         s_wsfe(&io___53);
00855         do_fio(&c__1, path, (ftnlen)3);
00856         e_wsfe();
00857         ci__1.cierr = 0;
00858         ci__1.ciunit = *iounit;
00859         ci__1.cifmt = "( ' Test ratios:' )";
00860         s_wsfe(&ci__1);
00861         e_wsfe();
00862         io___54.ciunit = *iounit;
00863         s_wsfe(&io___54);
00864         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00865         e_wsfe();
00866         io___55.ciunit = *iounit;
00867         s_wsfe(&io___55);
00868         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00869         e_wsfe();
00870         io___56.ciunit = *iounit;
00871         s_wsfe(&io___56);
00872         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00873         e_wsfe();
00874         io___57.ciunit = *iounit;
00875         s_wsfe(&io___57);
00876         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00877         e_wsfe();
00878         io___58.ciunit = *iounit;
00879         s_wsfe(&io___58);
00880         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00881         e_wsfe();
00882         io___59.ciunit = *iounit;
00883         s_wsfe(&io___59);
00884         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00885         e_wsfe();
00886         io___60.ciunit = *iounit;
00887         s_wsfe(&io___60);
00888         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00889         e_wsfe();
00890         ci__1.cierr = 0;
00891         ci__1.ciunit = *iounit;
00892         ci__1.cifmt = "( ' Messages:' )";
00893         s_wsfe(&ci__1);
00894         e_wsfe();
00895 
00896     } else if (lsamen_(&c__2, p2, "PT")) {
00897 
00898 /*        PT: Positive definite tridiagonal */
00899 
00900         if (sord) {
00901             io___61.ciunit = *iounit;
00902             s_wsfe(&io___61);
00903             do_fio(&c__1, path, (ftnlen)3);
00904             do_fio(&c__1, "Symmetric", (ftnlen)9);
00905             e_wsfe();
00906         } else {
00907             io___62.ciunit = *iounit;
00908             s_wsfe(&io___62);
00909             do_fio(&c__1, path, (ftnlen)3);
00910             do_fio(&c__1, "Hermitian", (ftnlen)9);
00911             e_wsfe();
00912         }
00913         io___63.ciunit = *iounit;
00914         s_wsfe(&io___63);
00915         e_wsfe();
00916         ci__1.cierr = 0;
00917         ci__1.ciunit = *iounit;
00918         ci__1.cifmt = "( ' Test ratios:' )";
00919         s_wsfe(&ci__1);
00920         e_wsfe();
00921         io___64.ciunit = *iounit;
00922         s_wsfe(&io___64);
00923         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00924         e_wsfe();
00925         io___65.ciunit = *iounit;
00926         s_wsfe(&io___65);
00927         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
00928         e_wsfe();
00929         io___66.ciunit = *iounit;
00930         s_wsfe(&io___66);
00931         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
00932         e_wsfe();
00933         io___67.ciunit = *iounit;
00934         s_wsfe(&io___67);
00935         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
00936         e_wsfe();
00937         io___68.ciunit = *iounit;
00938         s_wsfe(&io___68);
00939         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
00940         e_wsfe();
00941         io___69.ciunit = *iounit;
00942         s_wsfe(&io___69);
00943         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
00944         e_wsfe();
00945         io___70.ciunit = *iounit;
00946         s_wsfe(&io___70);
00947         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
00948         e_wsfe();
00949         ci__1.cierr = 0;
00950         ci__1.ciunit = *iounit;
00951         ci__1.cifmt = "( ' Messages:' )";
00952         s_wsfe(&ci__1);
00953         e_wsfe();
00954 
00955     } else if (lsamen_(&c__2, p2, "SY") || lsamen_(&
00956             c__2, p2, "SP")) {
00957 
00958 /*        SY: Symmetric indefinite full */
00959 /*        SP: Symmetric indefinite packed */
00960 
00961         if (lsame_(c3, "Y")) {
00962             io___71.ciunit = *iounit;
00963             s_wsfe(&io___71);
00964             do_fio(&c__1, path, (ftnlen)3);
00965             do_fio(&c__1, "Symmetric", (ftnlen)9);
00966             e_wsfe();
00967         } else {
00968             io___72.ciunit = *iounit;
00969             s_wsfe(&io___72);
00970             do_fio(&c__1, path, (ftnlen)3);
00971             do_fio(&c__1, "Symmetric", (ftnlen)9);
00972             e_wsfe();
00973         }
00974         ci__1.cierr = 0;
00975         ci__1.ciunit = *iounit;
00976         ci__1.cifmt = "( ' Matrix types:' )";
00977         s_wsfe(&ci__1);
00978         e_wsfe();
00979         if (sord) {
00980             io___73.ciunit = *iounit;
00981             s_wsfe(&io___73);
00982             e_wsfe();
00983         } else {
00984             io___74.ciunit = *iounit;
00985             s_wsfe(&io___74);
00986             e_wsfe();
00987         }
00988         ci__1.cierr = 0;
00989         ci__1.ciunit = *iounit;
00990         ci__1.cifmt = "( ' Test ratios:' )";
00991         s_wsfe(&ci__1);
00992         e_wsfe();
00993         io___75.ciunit = *iounit;
00994         s_wsfe(&io___75);
00995         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00996         e_wsfe();
00997         io___76.ciunit = *iounit;
00998         s_wsfe(&io___76);
00999         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01000         e_wsfe();
01001         io___77.ciunit = *iounit;
01002         s_wsfe(&io___77);
01003         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01004         e_wsfe();
01005         io___78.ciunit = *iounit;
01006         s_wsfe(&io___78);
01007         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01008         e_wsfe();
01009         io___79.ciunit = *iounit;
01010         s_wsfe(&io___79);
01011         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01012         e_wsfe();
01013         io___80.ciunit = *iounit;
01014         s_wsfe(&io___80);
01015         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01016         e_wsfe();
01017         io___81.ciunit = *iounit;
01018         s_wsfe(&io___81);
01019         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01020         e_wsfe();
01021         io___82.ciunit = *iounit;
01022         s_wsfe(&io___82);
01023         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
01024         e_wsfe();
01025         ci__1.cierr = 0;
01026         ci__1.ciunit = *iounit;
01027         ci__1.cifmt = "( ' Messages:' )";
01028         s_wsfe(&ci__1);
01029         e_wsfe();
01030 
01031     } else if (lsamen_(&c__2, p2, "HE") || lsamen_(&
01032             c__2, p2, "HP")) {
01033 
01034 /*        HE: Hermitian indefinite full */
01035 /*        HP: Hermitian indefinite packed */
01036 
01037         if (lsame_(c3, "E")) {
01038             io___83.ciunit = *iounit;
01039             s_wsfe(&io___83);
01040             do_fio(&c__1, path, (ftnlen)3);
01041             do_fio(&c__1, "Hermitian", (ftnlen)9);
01042             e_wsfe();
01043         } else {
01044             io___84.ciunit = *iounit;
01045             s_wsfe(&io___84);
01046             do_fio(&c__1, path, (ftnlen)3);
01047             do_fio(&c__1, "Hermitian", (ftnlen)9);
01048             e_wsfe();
01049         }
01050         ci__1.cierr = 0;
01051         ci__1.ciunit = *iounit;
01052         ci__1.cifmt = "( ' Matrix types:' )";
01053         s_wsfe(&ci__1);
01054         e_wsfe();
01055         io___85.ciunit = *iounit;
01056         s_wsfe(&io___85);
01057         e_wsfe();
01058         ci__1.cierr = 0;
01059         ci__1.ciunit = *iounit;
01060         ci__1.cifmt = "( ' Test ratios:' )";
01061         s_wsfe(&ci__1);
01062         e_wsfe();
01063         io___86.ciunit = *iounit;
01064         s_wsfe(&io___86);
01065         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01066         e_wsfe();
01067         io___87.ciunit = *iounit;
01068         s_wsfe(&io___87);
01069         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01070         e_wsfe();
01071         io___88.ciunit = *iounit;
01072         s_wsfe(&io___88);
01073         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01074         e_wsfe();
01075         io___89.ciunit = *iounit;
01076         s_wsfe(&io___89);
01077         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01078         e_wsfe();
01079         io___90.ciunit = *iounit;
01080         s_wsfe(&io___90);
01081         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01082         e_wsfe();
01083         io___91.ciunit = *iounit;
01084         s_wsfe(&io___91);
01085         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01086         e_wsfe();
01087         io___92.ciunit = *iounit;
01088         s_wsfe(&io___92);
01089         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01090         e_wsfe();
01091         io___93.ciunit = *iounit;
01092         s_wsfe(&io___93);
01093         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
01094         e_wsfe();
01095         ci__1.cierr = 0;
01096         ci__1.ciunit = *iounit;
01097         ci__1.cifmt = "( ' Messages:' )";
01098         s_wsfe(&ci__1);
01099         e_wsfe();
01100 
01101     } else if (lsamen_(&c__2, p2, "TR") || lsamen_(&
01102             c__2, p2, "TP")) {
01103 
01104 /*        TR: Triangular full */
01105 /*        TP: Triangular packed */
01106 
01107         if (lsame_(c3, "R")) {
01108             io___94.ciunit = *iounit;
01109             s_wsfe(&io___94);
01110             do_fio(&c__1, path, (ftnlen)3);
01111             e_wsfe();
01112 /* Writing concatenation */
01113             i__1[0] = 1, a__1[0] = path;
01114             i__1[1] = 5, a__1[1] = "LATRS";
01115             s_cat(subnam, a__1, i__1, &c__2, (ftnlen)32);
01116         } else {
01117             io___96.ciunit = *iounit;
01118             s_wsfe(&io___96);
01119             do_fio(&c__1, path, (ftnlen)3);
01120             e_wsfe();
01121 /* Writing concatenation */
01122             i__1[0] = 1, a__1[0] = path;
01123             i__1[1] = 5, a__1[1] = "LATPS";
01124             s_cat(subnam, a__1, i__1, &c__2, (ftnlen)32);
01125         }
01126         io___97.ciunit = *iounit;
01127         s_wsfe(&io___97);
01128         do_fio(&c__1, path, (ftnlen)3);
01129         e_wsfe();
01130         io___98.ciunit = *iounit;
01131         s_wsfe(&io___98);
01132         do_fio(&c__1, subnam, i_len_trim(subnam, (ftnlen)32));
01133         e_wsfe();
01134         ci__1.cierr = 0;
01135         ci__1.ciunit = *iounit;
01136         ci__1.cifmt = "( ' Test ratios:' )";
01137         s_wsfe(&ci__1);
01138         e_wsfe();
01139         io___99.ciunit = *iounit;
01140         s_wsfe(&io___99);
01141         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01142         e_wsfe();
01143         io___100.ciunit = *iounit;
01144         s_wsfe(&io___100);
01145         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01146         e_wsfe();
01147         io___101.ciunit = *iounit;
01148         s_wsfe(&io___101);
01149         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01150         e_wsfe();
01151         io___102.ciunit = *iounit;
01152         s_wsfe(&io___102);
01153         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01154         e_wsfe();
01155         io___103.ciunit = *iounit;
01156         s_wsfe(&io___103);
01157         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01158         e_wsfe();
01159         io___104.ciunit = *iounit;
01160         s_wsfe(&io___104);
01161         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01162         e_wsfe();
01163         io___105.ciunit = *iounit;
01164         s_wsfe(&io___105);
01165         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01166         e_wsfe();
01167         io___106.ciunit = *iounit;
01168         s_wsfe(&io___106);
01169         do_fio(&c__1, subnam, i_len_trim(subnam, (ftnlen)32));
01170         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
01171         e_wsfe();
01172         ci__1.cierr = 0;
01173         ci__1.ciunit = *iounit;
01174         ci__1.cifmt = "( ' Messages:' )";
01175         s_wsfe(&ci__1);
01176         e_wsfe();
01177 
01178     } else if (lsamen_(&c__2, p2, "TB")) {
01179 
01180 /*        TB: Triangular band */
01181 
01182         io___107.ciunit = *iounit;
01183         s_wsfe(&io___107);
01184         do_fio(&c__1, path, (ftnlen)3);
01185         e_wsfe();
01186 /* Writing concatenation */
01187         i__1[0] = 1, a__1[0] = path;
01188         i__1[1] = 5, a__1[1] = "LATBS";
01189         s_cat(subnam, a__1, i__1, &c__2, (ftnlen)32);
01190         io___108.ciunit = *iounit;
01191         s_wsfe(&io___108);
01192         do_fio(&c__1, path, (ftnlen)3);
01193         e_wsfe();
01194         io___109.ciunit = *iounit;
01195         s_wsfe(&io___109);
01196         do_fio(&c__1, subnam, i_len_trim(subnam, (ftnlen)32));
01197         e_wsfe();
01198         ci__1.cierr = 0;
01199         ci__1.ciunit = *iounit;
01200         ci__1.cifmt = "( ' Test ratios:' )";
01201         s_wsfe(&ci__1);
01202         e_wsfe();
01203         io___110.ciunit = *iounit;
01204         s_wsfe(&io___110);
01205         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01206         e_wsfe();
01207         io___111.ciunit = *iounit;
01208         s_wsfe(&io___111);
01209         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01210         e_wsfe();
01211         io___112.ciunit = *iounit;
01212         s_wsfe(&io___112);
01213         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01214         e_wsfe();
01215         io___113.ciunit = *iounit;
01216         s_wsfe(&io___113);
01217         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01218         e_wsfe();
01219         io___114.ciunit = *iounit;
01220         s_wsfe(&io___114);
01221         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01222         e_wsfe();
01223         io___115.ciunit = *iounit;
01224         s_wsfe(&io___115);
01225         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01226         e_wsfe();
01227         io___116.ciunit = *iounit;
01228         s_wsfe(&io___116);
01229         do_fio(&c__1, subnam, i_len_trim(subnam, (ftnlen)32));
01230         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01231         e_wsfe();
01232         ci__1.cierr = 0;
01233         ci__1.ciunit = *iounit;
01234         ci__1.cifmt = "( ' Messages:' )";
01235         s_wsfe(&ci__1);
01236         e_wsfe();
01237 
01238     } else if (lsamen_(&c__2, p2, "QR")) {
01239 
01240 /*        QR decomposition of rectangular matrices */
01241 
01242         io___117.ciunit = *iounit;
01243         s_wsfe(&io___117);
01244         do_fio(&c__1, path, (ftnlen)3);
01245         do_fio(&c__1, "QR", (ftnlen)2);
01246         e_wsfe();
01247         ci__1.cierr = 0;
01248         ci__1.ciunit = *iounit;
01249         ci__1.cifmt = "( ' Matrix types:' )";
01250         s_wsfe(&ci__1);
01251         e_wsfe();
01252         io___118.ciunit = *iounit;
01253         s_wsfe(&io___118);
01254         e_wsfe();
01255         ci__1.cierr = 0;
01256         ci__1.ciunit = *iounit;
01257         ci__1.cifmt = "( ' Test ratios:' )";
01258         s_wsfe(&ci__1);
01259         e_wsfe();
01260         io___119.ciunit = *iounit;
01261         s_wsfe(&io___119);
01262         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01263         e_wsfe();
01264         io___120.ciunit = *iounit;
01265         s_wsfe(&io___120);
01266         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01267         e_wsfe();
01268         io___121.ciunit = *iounit;
01269         s_wsfe(&io___121);
01270         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01271         do_fio(&c__1, "M", (ftnlen)1);
01272         e_wsfe();
01273         io___122.ciunit = *iounit;
01274         s_wsfe(&io___122);
01275         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01276         do_fio(&c__1, "M", (ftnlen)1);
01277         e_wsfe();
01278         io___123.ciunit = *iounit;
01279         s_wsfe(&io___123);
01280         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01281         do_fio(&c__1, "M", (ftnlen)1);
01282         e_wsfe();
01283         io___124.ciunit = *iounit;
01284         s_wsfe(&io___124);
01285         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01286         do_fio(&c__1, "M", (ftnlen)1);
01287         e_wsfe();
01288         io___125.ciunit = *iounit;
01289         s_wsfe(&io___125);
01290         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01291         e_wsfe();
01292         io___126.ciunit = *iounit;
01293         s_wsfe(&io___126);
01294         do_fio(&c__1, (char *)&c__8, (ftnlen)sizeof(integer));
01295         e_wsfe();
01296         ci__1.cierr = 0;
01297         ci__1.ciunit = *iounit;
01298         ci__1.cifmt = "( ' Messages:' )";
01299         s_wsfe(&ci__1);
01300         e_wsfe();
01301 
01302     } else if (lsamen_(&c__2, p2, "LQ")) {
01303 
01304 /*        LQ decomposition of rectangular matrices */
01305 
01306         io___127.ciunit = *iounit;
01307         s_wsfe(&io___127);
01308         do_fio(&c__1, path, (ftnlen)3);
01309         do_fio(&c__1, "LQ", (ftnlen)2);
01310         e_wsfe();
01311         ci__1.cierr = 0;
01312         ci__1.ciunit = *iounit;
01313         ci__1.cifmt = "( ' Matrix types:' )";
01314         s_wsfe(&ci__1);
01315         e_wsfe();
01316         io___128.ciunit = *iounit;
01317         s_wsfe(&io___128);
01318         e_wsfe();
01319         ci__1.cierr = 0;
01320         ci__1.ciunit = *iounit;
01321         ci__1.cifmt = "( ' Test ratios:' )";
01322         s_wsfe(&ci__1);
01323         e_wsfe();
01324         io___129.ciunit = *iounit;
01325         s_wsfe(&io___129);
01326         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01327         e_wsfe();
01328         io___130.ciunit = *iounit;
01329         s_wsfe(&io___130);
01330         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01331         e_wsfe();
01332         io___131.ciunit = *iounit;
01333         s_wsfe(&io___131);
01334         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01335         do_fio(&c__1, "N", (ftnlen)1);
01336         e_wsfe();
01337         io___132.ciunit = *iounit;
01338         s_wsfe(&io___132);
01339         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01340         do_fio(&c__1, "N", (ftnlen)1);
01341         e_wsfe();
01342         io___133.ciunit = *iounit;
01343         s_wsfe(&io___133);
01344         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01345         do_fio(&c__1, "N", (ftnlen)1);
01346         e_wsfe();
01347         io___134.ciunit = *iounit;
01348         s_wsfe(&io___134);
01349         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01350         do_fio(&c__1, "N", (ftnlen)1);
01351         e_wsfe();
01352         io___135.ciunit = *iounit;
01353         s_wsfe(&io___135);
01354         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01355         e_wsfe();
01356         ci__1.cierr = 0;
01357         ci__1.ciunit = *iounit;
01358         ci__1.cifmt = "( ' Messages:' )";
01359         s_wsfe(&ci__1);
01360         e_wsfe();
01361 
01362     } else if (lsamen_(&c__2, p2, "QL")) {
01363 
01364 /*        QL decomposition of rectangular matrices */
01365 
01366         io___136.ciunit = *iounit;
01367         s_wsfe(&io___136);
01368         do_fio(&c__1, path, (ftnlen)3);
01369         do_fio(&c__1, "QL", (ftnlen)2);
01370         e_wsfe();
01371         ci__1.cierr = 0;
01372         ci__1.ciunit = *iounit;
01373         ci__1.cifmt = "( ' Matrix types:' )";
01374         s_wsfe(&ci__1);
01375         e_wsfe();
01376         io___137.ciunit = *iounit;
01377         s_wsfe(&io___137);
01378         e_wsfe();
01379         ci__1.cierr = 0;
01380         ci__1.ciunit = *iounit;
01381         ci__1.cifmt = "( ' Test ratios:' )";
01382         s_wsfe(&ci__1);
01383         e_wsfe();
01384         io___138.ciunit = *iounit;
01385         s_wsfe(&io___138);
01386         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01387         e_wsfe();
01388         io___139.ciunit = *iounit;
01389         s_wsfe(&io___139);
01390         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01391         e_wsfe();
01392         io___140.ciunit = *iounit;
01393         s_wsfe(&io___140);
01394         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01395         do_fio(&c__1, "M", (ftnlen)1);
01396         e_wsfe();
01397         io___141.ciunit = *iounit;
01398         s_wsfe(&io___141);
01399         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01400         do_fio(&c__1, "M", (ftnlen)1);
01401         e_wsfe();
01402         io___142.ciunit = *iounit;
01403         s_wsfe(&io___142);
01404         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01405         do_fio(&c__1, "M", (ftnlen)1);
01406         e_wsfe();
01407         io___143.ciunit = *iounit;
01408         s_wsfe(&io___143);
01409         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01410         do_fio(&c__1, "M", (ftnlen)1);
01411         e_wsfe();
01412         io___144.ciunit = *iounit;
01413         s_wsfe(&io___144);
01414         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01415         e_wsfe();
01416         ci__1.cierr = 0;
01417         ci__1.ciunit = *iounit;
01418         ci__1.cifmt = "( ' Messages:' )";
01419         s_wsfe(&ci__1);
01420         e_wsfe();
01421 
01422     } else if (lsamen_(&c__2, p2, "RQ")) {
01423 
01424 /*        RQ decomposition of rectangular matrices */
01425 
01426         io___145.ciunit = *iounit;
01427         s_wsfe(&io___145);
01428         do_fio(&c__1, path, (ftnlen)3);
01429         do_fio(&c__1, "RQ", (ftnlen)2);
01430         e_wsfe();
01431         ci__1.cierr = 0;
01432         ci__1.ciunit = *iounit;
01433         ci__1.cifmt = "( ' Matrix types:' )";
01434         s_wsfe(&ci__1);
01435         e_wsfe();
01436         io___146.ciunit = *iounit;
01437         s_wsfe(&io___146);
01438         e_wsfe();
01439         ci__1.cierr = 0;
01440         ci__1.ciunit = *iounit;
01441         ci__1.cifmt = "( ' Test ratios:' )";
01442         s_wsfe(&ci__1);
01443         e_wsfe();
01444         io___147.ciunit = *iounit;
01445         s_wsfe(&io___147);
01446         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01447         e_wsfe();
01448         io___148.ciunit = *iounit;
01449         s_wsfe(&io___148);
01450         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01451         e_wsfe();
01452         io___149.ciunit = *iounit;
01453         s_wsfe(&io___149);
01454         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01455         do_fio(&c__1, "N", (ftnlen)1);
01456         e_wsfe();
01457         io___150.ciunit = *iounit;
01458         s_wsfe(&io___150);
01459         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01460         do_fio(&c__1, "N", (ftnlen)1);
01461         e_wsfe();
01462         io___151.ciunit = *iounit;
01463         s_wsfe(&io___151);
01464         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01465         do_fio(&c__1, "N", (ftnlen)1);
01466         e_wsfe();
01467         io___152.ciunit = *iounit;
01468         s_wsfe(&io___152);
01469         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01470         do_fio(&c__1, "N", (ftnlen)1);
01471         e_wsfe();
01472         io___153.ciunit = *iounit;
01473         s_wsfe(&io___153);
01474         do_fio(&c__1, (char *)&c__7, (ftnlen)sizeof(integer));
01475         e_wsfe();
01476         ci__1.cierr = 0;
01477         ci__1.ciunit = *iounit;
01478         ci__1.cifmt = "( ' Messages:' )";
01479         s_wsfe(&ci__1);
01480         e_wsfe();
01481 
01482     } else if (lsamen_(&c__2, p2, "QP")) {
01483 
01484 /*        QR decomposition with column pivoting */
01485 
01486         io___154.ciunit = *iounit;
01487         s_wsfe(&io___154);
01488         do_fio(&c__1, path, (ftnlen)3);
01489         e_wsfe();
01490         io___155.ciunit = *iounit;
01491         s_wsfe(&io___155);
01492         e_wsfe();
01493         ci__1.cierr = 0;
01494         ci__1.ciunit = *iounit;
01495         ci__1.cifmt = "( ' Test ratios:' )";
01496         s_wsfe(&ci__1);
01497         e_wsfe();
01498         io___156.ciunit = *iounit;
01499         s_wsfe(&io___156);
01500         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01501         e_wsfe();
01502         io___157.ciunit = *iounit;
01503         s_wsfe(&io___157);
01504         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01505         e_wsfe();
01506         io___158.ciunit = *iounit;
01507         s_wsfe(&io___158);
01508         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01509         e_wsfe();
01510         ci__1.cierr = 0;
01511         ci__1.ciunit = *iounit;
01512         ci__1.cifmt = "( ' Messages:' )";
01513         s_wsfe(&ci__1);
01514         e_wsfe();
01515 
01516     } else if (lsamen_(&c__2, p2, "TZ")) {
01517 
01518 /*        TZ:  Trapezoidal */
01519 
01520         io___159.ciunit = *iounit;
01521         s_wsfe(&io___159);
01522         do_fio(&c__1, path, (ftnlen)3);
01523         e_wsfe();
01524         io___160.ciunit = *iounit;
01525         s_wsfe(&io___160);
01526         e_wsfe();
01527         io___161.ciunit = *iounit;
01528         s_wsfe(&io___161);
01529         do_fio(&c__1, c1, (ftnlen)1);
01530         do_fio(&c__1, c1, (ftnlen)1);
01531         e_wsfe();
01532         ci__1.cierr = 0;
01533         ci__1.ciunit = *iounit;
01534         ci__1.cifmt = "( ' Test ratios:' )";
01535         s_wsfe(&ci__1);
01536         e_wsfe();
01537         io___162.ciunit = *iounit;
01538         s_wsfe(&io___162);
01539         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01540         e_wsfe();
01541         io___163.ciunit = *iounit;
01542         s_wsfe(&io___163);
01543         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01544         e_wsfe();
01545         io___164.ciunit = *iounit;
01546         s_wsfe(&io___164);
01547         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01548         e_wsfe();
01549         io___165.ciunit = *iounit;
01550         s_wsfe(&io___165);
01551         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01552         e_wsfe();
01553         io___166.ciunit = *iounit;
01554         s_wsfe(&io___166);
01555         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01556         e_wsfe();
01557         io___167.ciunit = *iounit;
01558         s_wsfe(&io___167);
01559         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01560         e_wsfe();
01561         ci__1.cierr = 0;
01562         ci__1.ciunit = *iounit;
01563         ci__1.cifmt = "( ' Messages:' )";
01564         s_wsfe(&ci__1);
01565         e_wsfe();
01566 
01567     } else if (lsamen_(&c__2, p2, "LS")) {
01568 
01569 /*        LS:  Least Squares driver routines for */
01570 /*             LS, LSD, LSS, LSX and LSY. */
01571 
01572         io___168.ciunit = *iounit;
01573         s_wsfe(&io___168);
01574         do_fio(&c__1, path, (ftnlen)3);
01575         e_wsfe();
01576         io___169.ciunit = *iounit;
01577         s_wsfe(&io___169);
01578         e_wsfe();
01579         io___170.ciunit = *iounit;
01580         s_wsfe(&io___170);
01581         do_fio(&c__1, c1, (ftnlen)1);
01582         do_fio(&c__1, c1, (ftnlen)1);
01583         do_fio(&c__1, c1, (ftnlen)1);
01584         do_fio(&c__1, c1, (ftnlen)1);
01585         do_fio(&c__1, c1, (ftnlen)1);
01586         e_wsfe();
01587         io___171.ciunit = *iounit;
01588         s_wsfe(&io___171);
01589         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01590         e_wsfe();
01591         io___172.ciunit = *iounit;
01592         s_wsfe(&io___172);
01593         do_fio(&c__1, (char *)&c__2, (ftnlen)sizeof(integer));
01594         e_wsfe();
01595         io___173.ciunit = *iounit;
01596         s_wsfe(&io___173);
01597         do_fio(&c__1, (char *)&c__3, (ftnlen)sizeof(integer));
01598         e_wsfe();
01599         io___174.ciunit = *iounit;
01600         s_wsfe(&io___174);
01601         do_fio(&c__1, (char *)&c__4, (ftnlen)sizeof(integer));
01602         e_wsfe();
01603         io___175.ciunit = *iounit;
01604         s_wsfe(&io___175);
01605         do_fio(&c__1, (char *)&c__5, (ftnlen)sizeof(integer));
01606         e_wsfe();
01607         io___176.ciunit = *iounit;
01608         s_wsfe(&io___176);
01609         do_fio(&c__1, (char *)&c__6, (ftnlen)sizeof(integer));
01610         e_wsfe();
01611         io___177.ciunit = *iounit;
01612         s_wsfe(&io___177);
01613         e_wsfe();
01614         ci__1.cierr = 0;
01615         ci__1.ciunit = *iounit;
01616         ci__1.cifmt = "( ' Messages:' )";
01617         s_wsfe(&ci__1);
01618         e_wsfe();
01619 
01620     } else if (lsamen_(&c__2, p2, "LU")) {
01621 
01622 /*        LU factorization variants */
01623 
01624         io___178.ciunit = *iounit;
01625         s_wsfe(&io___178);
01626         do_fio(&c__1, path, (ftnlen)3);
01627         e_wsfe();
01628         ci__1.cierr = 0;
01629         ci__1.ciunit = *iounit;
01630         ci__1.cifmt = "( ' Matrix types:' )";
01631         s_wsfe(&ci__1);
01632         e_wsfe();
01633         io___179.ciunit = *iounit;
01634         s_wsfe(&io___179);
01635         e_wsfe();
01636         ci__1.cierr = 0;
01637         ci__1.ciunit = *iounit;
01638         ci__1.cifmt = "( ' Test ratio:' )";
01639         s_wsfe(&ci__1);
01640         e_wsfe();
01641         io___180.ciunit = *iounit;
01642         s_wsfe(&io___180);
01643         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01644         e_wsfe();
01645         ci__1.cierr = 0;
01646         ci__1.ciunit = *iounit;
01647         ci__1.cifmt = "( ' Messages:' )";
01648         s_wsfe(&ci__1);
01649         e_wsfe();
01650 
01651     } else if (lsamen_(&c__2, p2, "CH")) {
01652 
01653 /*        Cholesky factorization variants */
01654 
01655         io___181.ciunit = *iounit;
01656         s_wsfe(&io___181);
01657         do_fio(&c__1, path, (ftnlen)3);
01658         e_wsfe();
01659         ci__1.cierr = 0;
01660         ci__1.ciunit = *iounit;
01661         ci__1.cifmt = "( ' Matrix types:' )";
01662         s_wsfe(&ci__1);
01663         e_wsfe();
01664         io___182.ciunit = *iounit;
01665         s_wsfe(&io___182);
01666         e_wsfe();
01667         ci__1.cierr = 0;
01668         ci__1.ciunit = *iounit;
01669         ci__1.cifmt = "( ' Test ratio:' )";
01670         s_wsfe(&ci__1);
01671         e_wsfe();
01672         io___183.ciunit = *iounit;
01673         s_wsfe(&io___183);
01674         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
01675         e_wsfe();
01676         ci__1.cierr = 0;
01677         ci__1.ciunit = *iounit;
01678         ci__1.cifmt = "( ' Messages:' )";
01679         s_wsfe(&ci__1);
01680         e_wsfe();
01681 
01682     } else if (lsamen_(&c__2, p2, "QS")) {
01683 
01684 /*        QR factorization variants */
01685 
01686         io___184.ciunit = *iounit;
01687         s_wsfe(&io___184);
01688         do_fio(&c__1, path, (ftnlen)3);
01689         e_wsfe();
01690         ci__1.cierr = 0;
01691         ci__1.ciunit = *iounit;
01692         ci__1.cifmt = "( ' Matrix types:' )";
01693         s_wsfe(&ci__1);
01694         e_wsfe();
01695         io___185.ciunit = *iounit;
01696         s_wsfe(&io___185);
01697         e_wsfe();
01698         ci__1.cierr = 0;
01699         ci__1.ciunit = *iounit;
01700         ci__1.cifmt = "( ' Test ratios:' )";
01701         s_wsfe(&ci__1);
01702         e_wsfe();
01703 
01704     } else {
01705 
01706 /*        Print error message if no header is available. */
01707 
01708         io___186.ciunit = *iounit;
01709         s_wsfe(&io___186);
01710         do_fio(&c__1, path, (ftnlen)3);
01711         e_wsfe();
01712     }
01713 
01714 /*     First line of header */
01715 
01716 
01717 /*     GE matrix types */
01718 
01719 
01720 /*     GB matrix types */
01721 
01722 
01723 /*     GT matrix types */
01724 
01725 
01726 /*     PT matrix types */
01727 
01728 
01729 /*     PO, PP matrix types */
01730 
01731 
01732 /*     CH matrix types */
01733 
01734 
01735 /*     PS matrix types */
01736 
01737 
01738 /*     PB matrix types */
01739 
01740 
01741 /*     SSY, SSP, CHE, CHP matrix types */
01742 
01743 
01744 /*     CSY, CSP matrix types */
01745 
01746 
01747 /*     QR matrix types */
01748 
01749 
01750 /*     QP matrix types */
01751 
01752 
01753 /*     TZ matrix types */
01754 
01755 
01756 /*     LS matrix types */
01757 
01758 
01759 /*     TR, TP matrix types */
01760 
01761 
01762 /*     TB matrix types */
01763 
01764 
01765 /*     Test ratios */
01766 
01767 /* L9936: */
01768 /* L9930: */
01769 
01770     return 0;
01771 
01772 /*     End of ALAHD */
01773 
01774 } /* alahd_ */


swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:55:14