zchkaa.c
Go to the documentation of this file.
00001 /* zchkaa.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 /* Common Block Declarations */
00017 
00018 struct {
00019     integer infot, nunit;
00020     logical ok, lerr;
00021 } infoc_;
00022 
00023 #define infoc_1 infoc_
00024 
00025 struct {
00026     char srnamt[32];
00027 } srnamc_;
00028 
00029 #define srnamc_1 srnamc_
00030 
00031 struct {
00032     integer iparms[100];
00033 } claenv_;
00034 
00035 #define claenv_1 claenv_
00036 
00037 /* Table of constant values */
00038 
00039 static integer c__1 = 1;
00040 static integer c__3 = 3;
00041 static integer c__12 = 12;
00042 static integer c__0 = 0;
00043 static integer c__132 = 132;
00044 static integer c__16 = 16;
00045 static integer c__100 = 100;
00046 static integer c__5 = 5;
00047 static integer c__8 = 8;
00048 static integer c__2 = 2;
00049 static integer c__6 = 6;
00050 
00051 /* Main program */ int MAIN__(void)
00052 {
00053     /* Initialized data */
00054 
00055     static doublereal threq = 2.;
00056     static char intstr[10] = "0123456789";
00057 
00058     /* Format strings */
00059     static char fmt_9994[] = "(\002 Tests of the COMPLEX*16 LAPACK routines"
00060             " \002,/\002 LAPACK VERSION \002,i1,\002.\002,i1,\002.\002,i1,/"
00061             "/\002 The following parameter values will be used:\002)";
00062     static char fmt_9996[] = "(\002 Invalid input value: \002,a4,\002=\002,i"
00063             "6,\002; must be >=\002,i6)";
00064     static char fmt_9995[] = "(\002 Invalid input value: \002,a4,\002=\002,i"
00065             "6,\002; must be <=\002,i6)";
00066     static char fmt_9993[] = "(4x,a4,\002:  \002,10i6,/11x,10i6)";
00067     static char fmt_9992[] = "(/\002 Routines pass computational tests if te"
00068             "st ratio is \002,\002less than\002,f8.2,/)";
00069     static char fmt_9999[] = "(/\002 Execution not attempted due to input er"
00070             "rors\002)";
00071     static char fmt_9991[] = "(\002 Relative machine \002,a,\002 is taken to"
00072             " be\002,d16.6)";
00073     static char fmt_9990[] = "(/1x,a3,\002:  Unrecognized path name\002)";
00074     static char fmt_9989[] = "(/1x,a3,\002 routines were not tested\002)";
00075     static char fmt_9988[] = "(/1x,a3,\002 driver routines were not teste"
00076             "d\002)";
00077     static char fmt_9998[] = "(/\002 End of tests\002)";
00078     static char fmt_9997[] = "(\002 Total time used = \002,f12.2,\002 seco"
00079             "nds\002,/)";
00080 
00081     /* System generated locals */
00082     integer i__1, i__2;
00083     doublereal d__1;
00084     cilist ci__1;
00085     cllist cl__1;
00086 
00087     /* Builtin functions */
00088     integer s_rsle(cilist *), e_rsle(void), s_wsfe(cilist *), do_fio(integer *
00089             , char *, ftnlen), e_wsfe(void), do_lio(integer *, integer *, 
00090             char *, ftnlen);
00091     /* Subroutine */ int s_stop(char *, ftnlen);
00092     integer s_wsle(cilist *), e_wsle(void), s_rsfe(cilist *), e_rsfe(void);
00093     /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);
00094     integer f_clos(cllist *);
00095 
00096     /* Local variables */
00097     doublecomplex a[153384]     /* was [21912][7] */, b[8448]   /* was [2112][
00098             4] */;
00099     integer i__, j, k;
00100     doublereal s[264];
00101     char c1[1], c2[2];
00102     doublereal s1, s2;
00103     integer ic, la, nb, nm, nn, vers_patch__, vers_major__, vers_minor__, lda,
00104              nnb;
00105     doublereal eps;
00106     integer nns, piv[132], nnb2;
00107     char path[3];
00108     integer mval[12], nval[12], nrhs;
00109     doublecomplex work[20856]   /* was [132][158] */;
00110     integer lafac;
00111     logical fatal;
00112     char aline[72];
00113     extern logical lsame_(char *, char *);
00114     integer nbval[12], nrank, nmats, nsval[12], nxval[12], iwork[3300];
00115     doublereal rwork[19832];
00116     integer nbval2[12];
00117     extern /* Subroutine */ int zchkq3_(logical *, integer *, integer *, 
00118             integer *, integer *, integer *, integer *, integer *, doublereal 
00119             *, doublecomplex *, doublecomplex *, doublereal *, doublereal *, 
00120             doublecomplex *, doublecomplex *, doublereal *, integer *, 
00121             integer *);
00122     extern doublereal dlamch_(char *), dsecnd_(void);
00123     extern /* Subroutine */ int alareq_(char *, integer *, logical *, integer 
00124             *, integer *, integer *), zchkgb_(logical *, integer *, 
00125             integer *, integer *, integer *, integer *, integer *, integer *, 
00126             integer *, doublereal *, logical *, doublecomplex *, integer *, 
00127             doublecomplex *, integer *, doublecomplex *, doublecomplex *, 
00128             doublecomplex *, doublecomplex *, doublereal *, integer *, 
00129             integer *), zchkge_(logical *, integer *, integer *, integer *, 
00130             integer *, integer *, integer *, integer *, integer *, doublereal 
00131             *, logical *, integer *, doublecomplex *, doublecomplex *, 
00132             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00133 , doublecomplex *, doublereal *, integer *, integer *), zchkhe_(
00134             logical *, integer *, integer *, integer *, integer *, integer *, 
00135             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00136             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00137 , doublecomplex *, doublecomplex *, doublereal *, integer *, 
00138             integer *);
00139     extern logical lsamen_(integer *, char *, char *);
00140     extern /* Subroutine */ int zchkpb_(logical *, integer *, integer *, 
00141             integer *, integer *, integer *, integer *, doublereal *, logical 
00142             *, integer *, doublecomplex *, doublecomplex *, doublecomplex *, 
00143             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00144 , doublereal *, integer *), ilaver_(integer *, integer *, integer 
00145             *), zchkeq_(doublereal *, integer *), zchktb_(logical *, integer *
00146 , integer *, integer *, integer *, doublereal *, logical *, 
00147             integer *, doublecomplex *, doublecomplex *, doublecomplex *, 
00148             doublecomplex *, doublecomplex *, doublecomplex *, doublereal *, 
00149             integer *), zchkhp_(logical *, integer *, integer *, integer *, 
00150             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00151             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00152 , doublecomplex *, doublecomplex *, doublereal *, integer *, 
00153             integer *), zchkgt_(logical *, integer *, integer *, integer *, 
00154             integer *, doublereal *, logical *, doublecomplex *, 
00155             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00156 , doublecomplex *, doublereal *, integer *, integer *), zchklq_(
00157             logical *, integer *, integer *, integer *, integer *, integer *, 
00158             integer *, integer *, integer *, doublereal *, logical *, integer 
00159             *, doublecomplex *, doublecomplex *, doublecomplex *, 
00160             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00161 , doublecomplex *, doublecomplex *, doublecomplex *, doublereal *, 
00162              integer *, integer *);
00163     doublereal thresh;
00164     extern /* Subroutine */ int zchkpo_(logical *, integer *, integer *, 
00165             integer *, integer *, integer *, integer *, doublereal *, logical 
00166             *, integer *, doublecomplex *, doublecomplex *, doublecomplex *, 
00167             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00168 , doublereal *, integer *), zchkpp_(logical *, integer *, integer 
00169             *, integer *, integer *, doublereal *, logical *, integer *, 
00170             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00171 , doublecomplex *, doublecomplex *, doublecomplex *, doublereal *, 
00172              integer *);
00173     logical tstchk;
00174     extern /* Subroutine */ int zchkql_(logical *, integer *, integer *, 
00175             integer *, integer *, integer *, integer *, integer *, integer *, 
00176             doublereal *, logical *, integer *, doublecomplex *, 
00177             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00178 , doublecomplex *, doublecomplex *, doublecomplex *, 
00179             doublecomplex *, doublecomplex *, doublereal *, integer *, 
00180             integer *), zchkps_(logical *, integer *, integer *, integer *, 
00181             integer *, integer *, integer *, doublereal *, logical *, integer 
00182             *, doublecomplex *, doublecomplex *, doublecomplex *, integer *, 
00183             doublecomplex *, doublereal *, integer *);
00184     logical dotype[30];
00185     extern /* Subroutine */ int zchkpt_(logical *, integer *, integer *, 
00186             integer *, integer *, doublereal *, logical *, doublecomplex *, 
00187             doublereal *, doublecomplex *, doublecomplex *, doublecomplex *, 
00188             doublecomplex *, doublecomplex *, doublereal *, integer *), 
00189             zchkqp_(logical *, integer *, integer *, integer *, integer *, 
00190             doublereal *, logical *, doublecomplex *, doublecomplex *, 
00191             doublereal *, doublereal *, doublecomplex *, doublecomplex *, 
00192             doublereal *, integer *, integer *), zchkqr_(logical *, integer *, 
00193              integer *, integer *, integer *, integer *, integer *, integer *, 
00194              integer *, doublereal *, logical *, integer *, doublecomplex *, 
00195             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00196 , doublecomplex *, doublecomplex *, doublecomplex *, 
00197             doublecomplex *, doublecomplex *, doublereal *, integer *, 
00198             integer *), zchkrq_(logical *, integer *, integer *, integer *, 
00199             integer *, integer *, integer *, integer *, integer *, doublereal 
00200             *, logical *, integer *, doublecomplex *, doublecomplex *, 
00201             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00202 , doublecomplex *, doublecomplex *, doublecomplex *, 
00203             doublecomplex *, doublereal *, integer *, integer *), zchksp_(
00204             logical *, integer *, integer *, integer *, integer *, doublereal 
00205             *, logical *, integer *, doublecomplex *, doublecomplex *, 
00206             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00207 , doublecomplex *, doublereal *, integer *, integer *), zchktp_(
00208             logical *, integer *, integer *, integer *, integer *, doublereal 
00209             *, logical *, integer *, doublecomplex *, doublecomplex *, 
00210             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00211 , doublereal *, integer *), zchksy_(logical *, integer *, integer 
00212             *, integer *, integer *, integer *, integer *, doublereal *, 
00213             logical *, integer *, doublecomplex *, doublecomplex *, 
00214             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00215 , doublecomplex *, doublereal *, integer *, integer *), zchktr_(
00216             logical *, integer *, integer *, integer *, integer *, integer *, 
00217             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00218             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00219 , doublecomplex *, doublereal *, integer *), zchktz_(logical *, 
00220             integer *, integer *, integer *, integer *, doublereal *, logical 
00221             *, doublecomplex *, doublecomplex *, doublereal *, doublereal *, 
00222             doublecomplex *, doublecomplex *, doublereal *, integer *), 
00223             zdrvgb_(logical *, integer *, integer *, integer *, doublereal *, 
00224             logical *, doublecomplex *, integer *, doublecomplex *, integer *, 
00225              doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex 
00226             *, doublecomplex *, doublereal *, doublecomplex *, doublereal *, 
00227             integer *, integer *), zdrvge_(logical *, integer *, integer *, 
00228             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00229             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00230 , doublecomplex *, doublecomplex *, doublereal *, doublecomplex *, 
00231              doublereal *, integer *, integer *), zdrvgt_(logical *, integer *
00232 , integer *, integer *, doublereal *, logical *, doublecomplex *, 
00233             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00234 , doublecomplex *, doublereal *, integer *, integer *), zdrvhe_(
00235             logical *, integer *, integer *, integer *, doublereal *, logical 
00236             *, integer *, doublecomplex *, doublecomplex *, doublecomplex *, 
00237             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00238 , doublereal *, integer *, integer *);
00239     integer ntypes;
00240     logical tsterr;
00241     extern /* Subroutine */ int zdrvhp_(logical *, integer *, integer *, 
00242             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00243             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00244 , doublecomplex *, doublecomplex *, doublereal *, integer *, 
00245             integer *);
00246     logical tstdrv;
00247     extern /* Subroutine */ int zdrvls_(logical *, integer *, integer *, 
00248             integer *, integer *, integer *, integer *, integer *, integer *, 
00249             integer *, doublereal *, logical *, doublecomplex *, 
00250             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00251 , doublereal *, doublereal *, doublecomplex *, doublereal *, 
00252             integer *, integer *), zdrvpb_(logical *, integer *, integer *, 
00253             integer *, doublereal *, logical *, integer *, doublecomplex *, 
00254             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00255 , doublecomplex *, doublecomplex *, doublereal *, doublecomplex *, 
00256              doublereal *, integer *), zdrvpo_(logical *, integer *, integer *
00257 , integer *, doublereal *, logical *, integer *, doublecomplex *, 
00258             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00259 , doublecomplex *, doublecomplex *, doublereal *, doublecomplex *, 
00260              doublereal *, integer *), zdrvpp_(logical *, integer *, integer *
00261 , integer *, doublereal *, logical *, integer *, doublecomplex *, 
00262             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00263 , doublecomplex *, doublecomplex *, doublereal *, doublecomplex *, 
00264              doublereal *, integer *), zdrvpt_(logical *, integer *, integer *
00265 , integer *, doublereal *, logical *, doublecomplex *, doublereal 
00266             *, doublecomplex *, doublecomplex *, doublecomplex *, 
00267             doublecomplex *, doublecomplex *, doublereal *, integer *), 
00268             zdrvsp_(logical *, integer *, integer *, integer *, doublereal *, 
00269             logical *, integer *, doublecomplex *, doublecomplex *, 
00270             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00271 , doublecomplex *, doublereal *, integer *, integer *), zdrvsy_(
00272             logical *, integer *, integer *, integer *, doublereal *, logical 
00273             *, integer *, doublecomplex *, doublecomplex *, doublecomplex *, 
00274             doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *
00275 , doublereal *, integer *, integer *);
00276     integer rankval[12];
00277 
00278     /* Fortran I/O blocks */
00279     static cilist io___6 = { 0, 5, 0, 0, 0 };
00280     static cilist io___10 = { 0, 6, 0, fmt_9994, 0 };
00281     static cilist io___11 = { 0, 5, 0, 0, 0 };
00282     static cilist io___13 = { 0, 6, 0, fmt_9996, 0 };
00283     static cilist io___14 = { 0, 6, 0, fmt_9995, 0 };
00284     static cilist io___15 = { 0, 5, 0, 0, 0 };
00285     static cilist io___18 = { 0, 6, 0, fmt_9996, 0 };
00286     static cilist io___19 = { 0, 6, 0, fmt_9995, 0 };
00287     static cilist io___20 = { 0, 6, 0, fmt_9993, 0 };
00288     static cilist io___21 = { 0, 5, 0, 0, 0 };
00289     static cilist io___23 = { 0, 6, 0, fmt_9996, 0 };
00290     static cilist io___24 = { 0, 6, 0, fmt_9995, 0 };
00291     static cilist io___25 = { 0, 5, 0, 0, 0 };
00292     static cilist io___27 = { 0, 6, 0, fmt_9996, 0 };
00293     static cilist io___28 = { 0, 6, 0, fmt_9995, 0 };
00294     static cilist io___29 = { 0, 6, 0, fmt_9993, 0 };
00295     static cilist io___30 = { 0, 5, 0, 0, 0 };
00296     static cilist io___32 = { 0, 6, 0, fmt_9996, 0 };
00297     static cilist io___33 = { 0, 6, 0, fmt_9995, 0 };
00298     static cilist io___34 = { 0, 5, 0, 0, 0 };
00299     static cilist io___36 = { 0, 6, 0, fmt_9996, 0 };
00300     static cilist io___37 = { 0, 6, 0, fmt_9995, 0 };
00301     static cilist io___38 = { 0, 6, 0, fmt_9993, 0 };
00302     static cilist io___39 = { 0, 5, 0, 0, 0 };
00303     static cilist io___41 = { 0, 6, 0, fmt_9996, 0 };
00304     static cilist io___42 = { 0, 6, 0, fmt_9995, 0 };
00305     static cilist io___43 = { 0, 5, 0, 0, 0 };
00306     static cilist io___45 = { 0, 6, 0, fmt_9996, 0 };
00307     static cilist io___46 = { 0, 6, 0, fmt_9993, 0 };
00308     static cilist io___51 = { 0, 5, 0, 0, 0 };
00309     static cilist io___53 = { 0, 6, 0, fmt_9996, 0 };
00310     static cilist io___54 = { 0, 6, 0, fmt_9993, 0 };
00311     static cilist io___55 = { 0, 5, 0, 0, 0 };
00312     static cilist io___57 = { 0, 6, 0, fmt_9996, 0 };
00313     static cilist io___58 = { 0, 6, 0, fmt_9995, 0 };
00314     static cilist io___59 = { 0, 5, 0, 0, 0 };
00315     static cilist io___61 = { 0, 6, 0, fmt_9996, 0 };
00316     static cilist io___62 = { 0, 6, 0, fmt_9995, 0 };
00317     static cilist io___63 = { 0, 6, 0, fmt_9993, 0 };
00318     static cilist io___64 = { 0, 5, 0, 0, 0 };
00319     static cilist io___66 = { 0, 6, 0, fmt_9992, 0 };
00320     static cilist io___67 = { 0, 5, 0, 0, 0 };
00321     static cilist io___69 = { 0, 5, 0, 0, 0 };
00322     static cilist io___71 = { 0, 5, 0, 0, 0 };
00323     static cilist io___73 = { 0, 6, 0, fmt_9999, 0 };
00324     static cilist io___75 = { 0, 6, 0, fmt_9991, 0 };
00325     static cilist io___76 = { 0, 6, 0, fmt_9991, 0 };
00326     static cilist io___77 = { 0, 6, 0, fmt_9991, 0 };
00327     static cilist io___78 = { 0, 6, 0, 0, 0 };
00328     static cilist io___87 = { 0, 6, 0, fmt_9990, 0 };
00329     static cilist io___88 = { 0, 6, 0, fmt_9989, 0 };
00330     static cilist io___96 = { 0, 6, 0, fmt_9989, 0 };
00331     static cilist io___98 = { 0, 6, 0, fmt_9988, 0 };
00332     static cilist io___101 = { 0, 6, 0, fmt_9989, 0 };
00333     static cilist io___102 = { 0, 6, 0, fmt_9988, 0 };
00334     static cilist io___103 = { 0, 6, 0, fmt_9989, 0 };
00335     static cilist io___104 = { 0, 6, 0, fmt_9988, 0 };
00336     static cilist io___105 = { 0, 6, 0, fmt_9989, 0 };
00337     static cilist io___106 = { 0, 6, 0, fmt_9988, 0 };
00338     static cilist io___108 = { 0, 6, 0, fmt_9989, 0 };
00339     static cilist io___109 = { 0, 6, 0, fmt_9989, 0 };
00340     static cilist io___110 = { 0, 6, 0, fmt_9988, 0 };
00341     static cilist io___111 = { 0, 6, 0, fmt_9989, 0 };
00342     static cilist io___112 = { 0, 6, 0, fmt_9988, 0 };
00343     static cilist io___113 = { 0, 6, 0, fmt_9989, 0 };
00344     static cilist io___114 = { 0, 6, 0, fmt_9988, 0 };
00345     static cilist io___115 = { 0, 6, 0, fmt_9989, 0 };
00346     static cilist io___116 = { 0, 6, 0, fmt_9988, 0 };
00347     static cilist io___117 = { 0, 6, 0, fmt_9989, 0 };
00348     static cilist io___118 = { 0, 6, 0, fmt_9988, 0 };
00349     static cilist io___119 = { 0, 6, 0, fmt_9989, 0 };
00350     static cilist io___120 = { 0, 6, 0, fmt_9988, 0 };
00351     static cilist io___121 = { 0, 6, 0, fmt_9989, 0 };
00352     static cilist io___122 = { 0, 6, 0, fmt_9988, 0 };
00353     static cilist io___123 = { 0, 6, 0, fmt_9989, 0 };
00354     static cilist io___124 = { 0, 6, 0, fmt_9989, 0 };
00355     static cilist io___125 = { 0, 6, 0, fmt_9989, 0 };
00356     static cilist io___126 = { 0, 6, 0, fmt_9989, 0 };
00357     static cilist io___127 = { 0, 6, 0, fmt_9989, 0 };
00358     static cilist io___128 = { 0, 6, 0, fmt_9989, 0 };
00359     static cilist io___129 = { 0, 6, 0, fmt_9989, 0 };
00360     static cilist io___130 = { 0, 6, 0, fmt_9989, 0 };
00361     static cilist io___131 = { 0, 6, 0, fmt_9989, 0 };
00362     static cilist io___132 = { 0, 6, 0, fmt_9989, 0 };
00363     static cilist io___133 = { 0, 6, 0, fmt_9989, 0 };
00364     static cilist io___134 = { 0, 6, 0, fmt_9990, 0 };
00365     static cilist io___136 = { 0, 6, 0, fmt_9998, 0 };
00366     static cilist io___137 = { 0, 6, 0, fmt_9997, 0 };
00367 
00368 
00369 
00370 /*  -- LAPACK test routine (version 3.1.1) -- */
00371 /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
00372 /*     January 2007 */
00373 
00374 /*  Purpose */
00375 /*  ======= */
00376 
00377 /*  ZCHKAA is the main test program for the COMPLEX*16 linear equation */
00378 /*  routines. */
00379 
00380 /*  The program must be driven by a short data file. The first 14 records */
00381 /*  specify problem dimensions and program options using list-directed */
00382 /*  input.  The remaining lines specify the LAPACK test paths and the */
00383 /*  number of matrix types to use in testing.  An annotated example of a */
00384 /*  data file can be obtained by deleting the first 3 characters from the */
00385 /*  following 38 lines: */
00386 /*  Data file for testing COMPLEX*16 LAPACK linear equation routines */
00387 /*  7                      Number of values of M */
00388 /*  0 1 2 3 5 10 16        Values of M (row dimension) */
00389 /*  7                      Number of values of N */
00390 /*  0 1 2 3 5 10 16        Values of N (column dimension) */
00391 /*  1                      Number of values of NRHS */
00392 /*  2                      Values of NRHS (number of right hand sides) */
00393 /*  5                      Number of values of NB */
00394 /*  1 3 3 3 20             Values of NB (the blocksize) */
00395 /*  1 0 5 9 1              Values of NX (crossover point) */
00396 /*  3                      Number of values of RANK */
00397 /*  30 50 90               Values of rank (as a % of N) */
00398 /*  30.0                   Threshold value of test ratio */
00399 /*  T                      Put T to test the LAPACK routines */
00400 /*  T                      Put T to test the driver routines */
00401 /*  T                      Put T to test the error exits */
00402 /*  ZGE   11               List types on next line if 0 < NTYPES < 11 */
00403 /*  ZGB    8               List types on next line if 0 < NTYPES <  8 */
00404 /*  ZGT   12               List types on next line if 0 < NTYPES < 12 */
00405 /*  ZPO    9               List types on next line if 0 < NTYPES <  9 */
00406 /*  ZPS    9               List types on next line if 0 < NTYPES <  9 */
00407 /*  ZPP    9               List types on next line if 0 < NTYPES <  9 */
00408 /*  ZPB    8               List types on next line if 0 < NTYPES <  8 */
00409 /*  ZPT   12               List types on next line if 0 < NTYPES < 12 */
00410 /*  ZHE   10               List types on next line if 0 < NTYPES < 10 */
00411 /*  ZHP   10               List types on next line if 0 < NTYPES < 10 */
00412 /*  ZSY   11               List types on next line if 0 < NTYPES < 11 */
00413 /*  ZSP   11               List types on next line if 0 < NTYPES < 11 */
00414 /*  ZTR   18               List types on next line if 0 < NTYPES < 18 */
00415 /*  ZTP   18               List types on next line if 0 < NTYPES < 18 */
00416 /*  ZTB   17               List types on next line if 0 < NTYPES < 17 */
00417 /*  ZQR    8               List types on next line if 0 < NTYPES <  8 */
00418 /*  ZRQ    8               List types on next line if 0 < NTYPES <  8 */
00419 /*  ZLQ    8               List types on next line if 0 < NTYPES <  8 */
00420 /*  ZQL    8               List types on next line if 0 < NTYPES <  8 */
00421 /*  ZQP    6               List types on next line if 0 < NTYPES <  6 */
00422 /*  ZTZ    3               List types on next line if 0 < NTYPES <  3 */
00423 /*  ZLS    6               List types on next line if 0 < NTYPES <  6 */
00424 /*  ZEQ */
00425 
00426 /*  Internal Parameters */
00427 /*  =================== */
00428 
00429 /*  NMAX    INTEGER */
00430 /*          The maximum allowable value for N. */
00431 
00432 /*  MAXIN   INTEGER */
00433 /*          The number of different values that can be used for each of */
00434 /*          M, N, or NB */
00435 
00436 /*  MAXRHS  INTEGER */
00437 /*          The maximum number of right hand sides */
00438 
00439 /*  NIN     INTEGER */
00440 /*          The unit number for input */
00441 
00442 /*  NOUT    INTEGER */
00443 /*          The unit number for output */
00444 
00445 /*  ===================================================================== */
00446 
00447 /*     .. Parameters .. */
00448 /*     .. */
00449 /*     .. Local Scalars .. */
00450 /*     .. */
00451 /*     .. Local Arrays .. */
00452 /*     .. */
00453 /*     .. External Functions .. */
00454 /*     .. */
00455 /*     .. External Subroutines .. */
00456 /*     .. */
00457 /*     .. Scalars in Common .. */
00458 /*     .. */
00459 /*     .. Arrays in Common .. */
00460 /*     .. */
00461 /*     .. Common blocks .. */
00462 /*     .. */
00463 /*     .. Data statements .. */
00464 /*     .. */
00465 /*     .. Executable Statements .. */
00466 
00467     s1 = dsecnd_();
00468     lda = 132;
00469     fatal = FALSE_;
00470 
00471 /*     Read a dummy line. */
00472 
00473     s_rsle(&io___6);
00474     e_rsle();
00475 
00476 /*     Report values of parameters. */
00477 
00478     ilaver_(&vers_major__, &vers_minor__, &vers_patch__);
00479     s_wsfe(&io___10);
00480     do_fio(&c__1, (char *)&vers_major__, (ftnlen)sizeof(integer));
00481     do_fio(&c__1, (char *)&vers_minor__, (ftnlen)sizeof(integer));
00482     do_fio(&c__1, (char *)&vers_patch__, (ftnlen)sizeof(integer));
00483     e_wsfe();
00484 
00485 /*     Read the values of M */
00486 
00487     s_rsle(&io___11);
00488     do_lio(&c__3, &c__1, (char *)&nm, (ftnlen)sizeof(integer));
00489     e_rsle();
00490     if (nm < 1) {
00491         s_wsfe(&io___13);
00492         do_fio(&c__1, " NM ", (ftnlen)4);
00493         do_fio(&c__1, (char *)&nm, (ftnlen)sizeof(integer));
00494         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00495         e_wsfe();
00496         nm = 0;
00497         fatal = TRUE_;
00498     } else if (nm > 12) {
00499         s_wsfe(&io___14);
00500         do_fio(&c__1, " NM ", (ftnlen)4);
00501         do_fio(&c__1, (char *)&nm, (ftnlen)sizeof(integer));
00502         do_fio(&c__1, (char *)&c__12, (ftnlen)sizeof(integer));
00503         e_wsfe();
00504         nm = 0;
00505         fatal = TRUE_;
00506     }
00507     s_rsle(&io___15);
00508     i__1 = nm;
00509     for (i__ = 1; i__ <= i__1; ++i__) {
00510         do_lio(&c__3, &c__1, (char *)&mval[i__ - 1], (ftnlen)sizeof(integer));
00511     }
00512     e_rsle();
00513     i__1 = nm;
00514     for (i__ = 1; i__ <= i__1; ++i__) {
00515         if (mval[i__ - 1] < 0) {
00516             s_wsfe(&io___18);
00517             do_fio(&c__1, " M  ", (ftnlen)4);
00518             do_fio(&c__1, (char *)&mval[i__ - 1], (ftnlen)sizeof(integer));
00519             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00520             e_wsfe();
00521             fatal = TRUE_;
00522         } else if (mval[i__ - 1] > 132) {
00523             s_wsfe(&io___19);
00524             do_fio(&c__1, " M  ", (ftnlen)4);
00525             do_fio(&c__1, (char *)&mval[i__ - 1], (ftnlen)sizeof(integer));
00526             do_fio(&c__1, (char *)&c__132, (ftnlen)sizeof(integer));
00527             e_wsfe();
00528             fatal = TRUE_;
00529         }
00530 /* L10: */
00531     }
00532     if (nm > 0) {
00533         s_wsfe(&io___20);
00534         do_fio(&c__1, "M   ", (ftnlen)4);
00535         i__1 = nm;
00536         for (i__ = 1; i__ <= i__1; ++i__) {
00537             do_fio(&c__1, (char *)&mval[i__ - 1], (ftnlen)sizeof(integer));
00538         }
00539         e_wsfe();
00540     }
00541 
00542 /*     Read the values of N */
00543 
00544     s_rsle(&io___21);
00545     do_lio(&c__3, &c__1, (char *)&nn, (ftnlen)sizeof(integer));
00546     e_rsle();
00547     if (nn < 1) {
00548         s_wsfe(&io___23);
00549         do_fio(&c__1, " NN ", (ftnlen)4);
00550         do_fio(&c__1, (char *)&nn, (ftnlen)sizeof(integer));
00551         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00552         e_wsfe();
00553         nn = 0;
00554         fatal = TRUE_;
00555     } else if (nn > 12) {
00556         s_wsfe(&io___24);
00557         do_fio(&c__1, " NN ", (ftnlen)4);
00558         do_fio(&c__1, (char *)&nn, (ftnlen)sizeof(integer));
00559         do_fio(&c__1, (char *)&c__12, (ftnlen)sizeof(integer));
00560         e_wsfe();
00561         nn = 0;
00562         fatal = TRUE_;
00563     }
00564     s_rsle(&io___25);
00565     i__1 = nn;
00566     for (i__ = 1; i__ <= i__1; ++i__) {
00567         do_lio(&c__3, &c__1, (char *)&nval[i__ - 1], (ftnlen)sizeof(integer));
00568     }
00569     e_rsle();
00570     i__1 = nn;
00571     for (i__ = 1; i__ <= i__1; ++i__) {
00572         if (nval[i__ - 1] < 0) {
00573             s_wsfe(&io___27);
00574             do_fio(&c__1, " N  ", (ftnlen)4);
00575             do_fio(&c__1, (char *)&nval[i__ - 1], (ftnlen)sizeof(integer));
00576             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00577             e_wsfe();
00578             fatal = TRUE_;
00579         } else if (nval[i__ - 1] > 132) {
00580             s_wsfe(&io___28);
00581             do_fio(&c__1, " N  ", (ftnlen)4);
00582             do_fio(&c__1, (char *)&nval[i__ - 1], (ftnlen)sizeof(integer));
00583             do_fio(&c__1, (char *)&c__132, (ftnlen)sizeof(integer));
00584             e_wsfe();
00585             fatal = TRUE_;
00586         }
00587 /* L20: */
00588     }
00589     if (nn > 0) {
00590         s_wsfe(&io___29);
00591         do_fio(&c__1, "N   ", (ftnlen)4);
00592         i__1 = nn;
00593         for (i__ = 1; i__ <= i__1; ++i__) {
00594             do_fio(&c__1, (char *)&nval[i__ - 1], (ftnlen)sizeof(integer));
00595         }
00596         e_wsfe();
00597     }
00598 
00599 /*     Read the values of NRHS */
00600 
00601     s_rsle(&io___30);
00602     do_lio(&c__3, &c__1, (char *)&nns, (ftnlen)sizeof(integer));
00603     e_rsle();
00604     if (nns < 1) {
00605         s_wsfe(&io___32);
00606         do_fio(&c__1, " NNS", (ftnlen)4);
00607         do_fio(&c__1, (char *)&nns, (ftnlen)sizeof(integer));
00608         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00609         e_wsfe();
00610         nns = 0;
00611         fatal = TRUE_;
00612     } else if (nns > 12) {
00613         s_wsfe(&io___33);
00614         do_fio(&c__1, " NNS", (ftnlen)4);
00615         do_fio(&c__1, (char *)&nns, (ftnlen)sizeof(integer));
00616         do_fio(&c__1, (char *)&c__12, (ftnlen)sizeof(integer));
00617         e_wsfe();
00618         nns = 0;
00619         fatal = TRUE_;
00620     }
00621     s_rsle(&io___34);
00622     i__1 = nns;
00623     for (i__ = 1; i__ <= i__1; ++i__) {
00624         do_lio(&c__3, &c__1, (char *)&nsval[i__ - 1], (ftnlen)sizeof(integer))
00625                 ;
00626     }
00627     e_rsle();
00628     i__1 = nns;
00629     for (i__ = 1; i__ <= i__1; ++i__) {
00630         if (nsval[i__ - 1] < 0) {
00631             s_wsfe(&io___36);
00632             do_fio(&c__1, "NRHS", (ftnlen)4);
00633             do_fio(&c__1, (char *)&nsval[i__ - 1], (ftnlen)sizeof(integer));
00634             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00635             e_wsfe();
00636             fatal = TRUE_;
00637         } else if (nsval[i__ - 1] > 16) {
00638             s_wsfe(&io___37);
00639             do_fio(&c__1, "NRHS", (ftnlen)4);
00640             do_fio(&c__1, (char *)&nsval[i__ - 1], (ftnlen)sizeof(integer));
00641             do_fio(&c__1, (char *)&c__16, (ftnlen)sizeof(integer));
00642             e_wsfe();
00643             fatal = TRUE_;
00644         }
00645 /* L30: */
00646     }
00647     if (nns > 0) {
00648         s_wsfe(&io___38);
00649         do_fio(&c__1, "NRHS", (ftnlen)4);
00650         i__1 = nns;
00651         for (i__ = 1; i__ <= i__1; ++i__) {
00652             do_fio(&c__1, (char *)&nsval[i__ - 1], (ftnlen)sizeof(integer));
00653         }
00654         e_wsfe();
00655     }
00656 
00657 /*     Read the values of NB */
00658 
00659     s_rsle(&io___39);
00660     do_lio(&c__3, &c__1, (char *)&nnb, (ftnlen)sizeof(integer));
00661     e_rsle();
00662     if (nnb < 1) {
00663         s_wsfe(&io___41);
00664         do_fio(&c__1, "NNB ", (ftnlen)4);
00665         do_fio(&c__1, (char *)&nnb, (ftnlen)sizeof(integer));
00666         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00667         e_wsfe();
00668         nnb = 0;
00669         fatal = TRUE_;
00670     } else if (nnb > 12) {
00671         s_wsfe(&io___42);
00672         do_fio(&c__1, "NNB ", (ftnlen)4);
00673         do_fio(&c__1, (char *)&nnb, (ftnlen)sizeof(integer));
00674         do_fio(&c__1, (char *)&c__12, (ftnlen)sizeof(integer));
00675         e_wsfe();
00676         nnb = 0;
00677         fatal = TRUE_;
00678     }
00679     s_rsle(&io___43);
00680     i__1 = nnb;
00681     for (i__ = 1; i__ <= i__1; ++i__) {
00682         do_lio(&c__3, &c__1, (char *)&nbval[i__ - 1], (ftnlen)sizeof(integer))
00683                 ;
00684     }
00685     e_rsle();
00686     i__1 = nnb;
00687     for (i__ = 1; i__ <= i__1; ++i__) {
00688         if (nbval[i__ - 1] < 0) {
00689             s_wsfe(&io___45);
00690             do_fio(&c__1, " NB ", (ftnlen)4);
00691             do_fio(&c__1, (char *)&nbval[i__ - 1], (ftnlen)sizeof(integer));
00692             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00693             e_wsfe();
00694             fatal = TRUE_;
00695         }
00696 /* L40: */
00697     }
00698     if (nnb > 0) {
00699         s_wsfe(&io___46);
00700         do_fio(&c__1, "NB  ", (ftnlen)4);
00701         i__1 = nnb;
00702         for (i__ = 1; i__ <= i__1; ++i__) {
00703             do_fio(&c__1, (char *)&nbval[i__ - 1], (ftnlen)sizeof(integer));
00704         }
00705         e_wsfe();
00706     }
00707 
00708 /*     Set NBVAL2 to be the set of unique values of NB */
00709 
00710     nnb2 = 0;
00711     i__1 = nnb;
00712     for (i__ = 1; i__ <= i__1; ++i__) {
00713         nb = nbval[i__ - 1];
00714         i__2 = nnb2;
00715         for (j = 1; j <= i__2; ++j) {
00716             if (nb == nbval2[j - 1]) {
00717                 goto L60;
00718             }
00719 /* L50: */
00720         }
00721         ++nnb2;
00722         nbval2[nnb2 - 1] = nb;
00723 L60:
00724         ;
00725     }
00726 
00727 /*     Read the values of NX */
00728 
00729     s_rsle(&io___51);
00730     i__1 = nnb;
00731     for (i__ = 1; i__ <= i__1; ++i__) {
00732         do_lio(&c__3, &c__1, (char *)&nxval[i__ - 1], (ftnlen)sizeof(integer))
00733                 ;
00734     }
00735     e_rsle();
00736     i__1 = nnb;
00737     for (i__ = 1; i__ <= i__1; ++i__) {
00738         if (nxval[i__ - 1] < 0) {
00739             s_wsfe(&io___53);
00740             do_fio(&c__1, " NX ", (ftnlen)4);
00741             do_fio(&c__1, (char *)&nxval[i__ - 1], (ftnlen)sizeof(integer));
00742             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00743             e_wsfe();
00744             fatal = TRUE_;
00745         }
00746 /* L70: */
00747     }
00748     if (nnb > 0) {
00749         s_wsfe(&io___54);
00750         do_fio(&c__1, "NX  ", (ftnlen)4);
00751         i__1 = nnb;
00752         for (i__ = 1; i__ <= i__1; ++i__) {
00753             do_fio(&c__1, (char *)&nxval[i__ - 1], (ftnlen)sizeof(integer));
00754         }
00755         e_wsfe();
00756     }
00757 
00758 /*     Read the values of RANKVAL */
00759 
00760     s_rsle(&io___55);
00761     do_lio(&c__3, &c__1, (char *)&nrank, (ftnlen)sizeof(integer));
00762     e_rsle();
00763     if (nn < 1) {
00764         s_wsfe(&io___57);
00765         do_fio(&c__1, " NRANK ", (ftnlen)7);
00766         do_fio(&c__1, (char *)&nrank, (ftnlen)sizeof(integer));
00767         do_fio(&c__1, (char *)&c__1, (ftnlen)sizeof(integer));
00768         e_wsfe();
00769         nrank = 0;
00770         fatal = TRUE_;
00771     } else if (nn > 12) {
00772         s_wsfe(&io___58);
00773         do_fio(&c__1, " NRANK ", (ftnlen)7);
00774         do_fio(&c__1, (char *)&nrank, (ftnlen)sizeof(integer));
00775         do_fio(&c__1, (char *)&c__12, (ftnlen)sizeof(integer));
00776         e_wsfe();
00777         nrank = 0;
00778         fatal = TRUE_;
00779     }
00780     s_rsle(&io___59);
00781     i__1 = nrank;
00782     for (i__ = 1; i__ <= i__1; ++i__) {
00783         do_lio(&c__3, &c__1, (char *)&rankval[i__ - 1], (ftnlen)sizeof(
00784                 integer));
00785     }
00786     e_rsle();
00787     i__1 = nrank;
00788     for (i__ = 1; i__ <= i__1; ++i__) {
00789         if (rankval[i__ - 1] < 0) {
00790             s_wsfe(&io___61);
00791             do_fio(&c__1, " RANK  ", (ftnlen)7);
00792             do_fio(&c__1, (char *)&rankval[i__ - 1], (ftnlen)sizeof(integer));
00793             do_fio(&c__1, (char *)&c__0, (ftnlen)sizeof(integer));
00794             e_wsfe();
00795             fatal = TRUE_;
00796         } else if (rankval[i__ - 1] > 100) {
00797             s_wsfe(&io___62);
00798             do_fio(&c__1, " RANK  ", (ftnlen)7);
00799             do_fio(&c__1, (char *)&rankval[i__ - 1], (ftnlen)sizeof(integer));
00800             do_fio(&c__1, (char *)&c__100, (ftnlen)sizeof(integer));
00801             e_wsfe();
00802             fatal = TRUE_;
00803         }
00804     }
00805     if (nrank > 0) {
00806         s_wsfe(&io___63);
00807         do_fio(&c__1, "RANK % OF N", (ftnlen)11);
00808         i__1 = nrank;
00809         for (i__ = 1; i__ <= i__1; ++i__) {
00810             do_fio(&c__1, (char *)&rankval[i__ - 1], (ftnlen)sizeof(integer));
00811         }
00812         e_wsfe();
00813     }
00814 
00815 /*     Read the threshold value for the test ratios. */
00816 
00817     s_rsle(&io___64);
00818     do_lio(&c__5, &c__1, (char *)&thresh, (ftnlen)sizeof(doublereal));
00819     e_rsle();
00820     s_wsfe(&io___66);
00821     do_fio(&c__1, (char *)&thresh, (ftnlen)sizeof(doublereal));
00822     e_wsfe();
00823 
00824 /*     Read the flag that indicates whether to test the LAPACK routines. */
00825 
00826     s_rsle(&io___67);
00827     do_lio(&c__8, &c__1, (char *)&tstchk, (ftnlen)sizeof(logical));
00828     e_rsle();
00829 
00830 /*     Read the flag that indicates whether to test the driver routines. */
00831 
00832     s_rsle(&io___69);
00833     do_lio(&c__8, &c__1, (char *)&tstdrv, (ftnlen)sizeof(logical));
00834     e_rsle();
00835 
00836 /*     Read the flag that indicates whether to test the error exits. */
00837 
00838     s_rsle(&io___71);
00839     do_lio(&c__8, &c__1, (char *)&tsterr, (ftnlen)sizeof(logical));
00840     e_rsle();
00841 
00842     if (fatal) {
00843         s_wsfe(&io___73);
00844         e_wsfe();
00845         s_stop("", (ftnlen)0);
00846     }
00847 
00848 /*     Calculate and print the machine dependent constants. */
00849 
00850     eps = dlamch_("Underflow threshold");
00851     s_wsfe(&io___75);
00852     do_fio(&c__1, "underflow", (ftnlen)9);
00853     do_fio(&c__1, (char *)&eps, (ftnlen)sizeof(doublereal));
00854     e_wsfe();
00855     eps = dlamch_("Overflow threshold");
00856     s_wsfe(&io___76);
00857     do_fio(&c__1, "overflow ", (ftnlen)9);
00858     do_fio(&c__1, (char *)&eps, (ftnlen)sizeof(doublereal));
00859     e_wsfe();
00860     eps = dlamch_("Epsilon");
00861     s_wsfe(&io___77);
00862     do_fio(&c__1, "precision", (ftnlen)9);
00863     do_fio(&c__1, (char *)&eps, (ftnlen)sizeof(doublereal));
00864     e_wsfe();
00865     s_wsle(&io___78);
00866     e_wsle();
00867     nrhs = nsval[0];
00868 
00869 L80:
00870 
00871 /*     Read a test path and the number of matrix types to use. */
00872 
00873     ci__1.cierr = 0;
00874     ci__1.ciend = 1;
00875     ci__1.ciunit = 5;
00876     ci__1.cifmt = "(A72)";
00877     i__1 = s_rsfe(&ci__1);
00878     if (i__1 != 0) {
00879         goto L140;
00880     }
00881     i__1 = do_fio(&c__1, aline, (ftnlen)72);
00882     if (i__1 != 0) {
00883         goto L140;
00884     }
00885     i__1 = e_rsfe();
00886     if (i__1 != 0) {
00887         goto L140;
00888     }
00889     s_copy(path, aline, (ftnlen)3, (ftnlen)3);
00890     nmats = 30;
00891     i__ = 3;
00892 L90:
00893     ++i__;
00894     if (i__ > 72) {
00895         goto L130;
00896     }
00897     if (*(unsigned char *)&aline[i__ - 1] == ' ') {
00898         goto L90;
00899     }
00900     nmats = 0;
00901 L100:
00902     *(unsigned char *)c1 = *(unsigned char *)&aline[i__ - 1];
00903     for (k = 1; k <= 10; ++k) {
00904         if (*(unsigned char *)c1 == *(unsigned char *)&intstr[k - 1]) {
00905             ic = k - 1;
00906             goto L120;
00907         }
00908 /* L110: */
00909     }
00910     goto L130;
00911 L120:
00912     nmats = nmats * 10 + ic;
00913     ++i__;
00914     if (i__ > 72) {
00915         goto L130;
00916     }
00917     goto L100;
00918 L130:
00919     *(unsigned char *)c1 = *(unsigned char *)path;
00920     s_copy(c2, path + 1, (ftnlen)2, (ftnlen)2);
00921 
00922 /*     Check first character for correct precision. */
00923 
00924     if (! lsame_(c1, "Zomplex precision")) {
00925         s_wsfe(&io___87);
00926         do_fio(&c__1, path, (ftnlen)3);
00927         e_wsfe();
00928 
00929     } else if (nmats <= 0) {
00930 
00931 /*        Check for a positive number of tests requested. */
00932 
00933         s_wsfe(&io___88);
00934         do_fio(&c__1, path, (ftnlen)3);
00935         e_wsfe();
00936 
00937     } else if (lsamen_(&c__2, c2, "GE")) {
00938 
00939 /*        GE:  general matrices */
00940 
00941         ntypes = 11;
00942         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
00943 
00944         if (tstchk) {
00945             zchkge_(dotype, &nm, mval, &nn, nval, &nnb2, nbval2, &nns, nsval, 
00946                     &thresh, &tsterr, &lda, a, &a[21912], &a[43824], b, &b[
00947                     2112], &b[4224], work, rwork, iwork, &c__6);
00948         } else {
00949             s_wsfe(&io___96);
00950             do_fio(&c__1, path, (ftnlen)3);
00951             e_wsfe();
00952         }
00953 
00954         if (tstdrv) {
00955             zdrvge_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
00956                     21912], &a[43824], b, &b[2112], &b[4224], &b[6336], s, 
00957                     work, rwork, iwork, &c__6);
00958         } else {
00959             s_wsfe(&io___98);
00960             do_fio(&c__1, path, (ftnlen)3);
00961             e_wsfe();
00962         }
00963 
00964     } else if (lsamen_(&c__2, c2, "GB")) {
00965 
00966 /*        GB:  general banded matrices */
00967 
00968         la = 43692;
00969         lafac = 65472;
00970         ntypes = 8;
00971         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
00972 
00973         if (tstchk) {
00974             zchkgb_(dotype, &nm, mval, &nn, nval, &nnb2, nbval2, &nns, nsval, 
00975                     &thresh, &tsterr, a, &la, &a[43824], &lafac, b, &b[2112], 
00976                     &b[4224], work, rwork, iwork, &c__6);
00977         } else {
00978             s_wsfe(&io___101);
00979             do_fio(&c__1, path, (ftnlen)3);
00980             e_wsfe();
00981         }
00982 
00983         if (tstdrv) {
00984             zdrvgb_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, a, &la, &a[
00985                     43824], &lafac, &a[109560], b, &b[2112], &b[4224], &b[
00986                     6336], s, work, rwork, iwork, &c__6);
00987         } else {
00988             s_wsfe(&io___102);
00989             do_fio(&c__1, path, (ftnlen)3);
00990             e_wsfe();
00991         }
00992 
00993     } else if (lsamen_(&c__2, c2, "GT")) {
00994 
00995 /*        GT:  general tridiagonal matrices */
00996 
00997         ntypes = 12;
00998         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
00999 
01000         if (tstchk) {
01001             zchkgt_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, a, &a[
01002                     21912], b, &b[2112], &b[4224], work, rwork, iwork, &c__6);
01003         } else {
01004             s_wsfe(&io___103);
01005             do_fio(&c__1, path, (ftnlen)3);
01006             e_wsfe();
01007         }
01008 
01009         if (tstdrv) {
01010             zdrvgt_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, a, &a[21912], 
01011                     b, &b[2112], &b[4224], work, rwork, iwork, &c__6);
01012         } else {
01013             s_wsfe(&io___104);
01014             do_fio(&c__1, path, (ftnlen)3);
01015             e_wsfe();
01016         }
01017 
01018     } else if (lsamen_(&c__2, c2, "PO")) {
01019 
01020 /*        PO:  positive definite matrices */
01021 
01022         ntypes = 9;
01023         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01024 
01025         if (tstchk) {
01026             zchkpo_(dotype, &nn, nval, &nnb2, nbval2, &nns, nsval, &thresh, &
01027                     tsterr, &lda, a, &a[21912], &a[43824], b, &b[2112], &b[
01028                     4224], work, rwork, &c__6);
01029         } else {
01030             s_wsfe(&io___105);
01031             do_fio(&c__1, path, (ftnlen)3);
01032             e_wsfe();
01033         }
01034 
01035         if (tstdrv) {
01036             zdrvpo_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01037                     21912], &a[43824], b, &b[2112], &b[4224], &b[6336], s, 
01038                     work, rwork, &c__6);
01039         } else {
01040             s_wsfe(&io___106);
01041             do_fio(&c__1, path, (ftnlen)3);
01042             e_wsfe();
01043         }
01044 
01045     } else if (lsamen_(&c__2, c2, "PS")) {
01046 
01047 /*        PS:  positive semi-definite matrices */
01048 
01049         ntypes = 9;
01050 
01051         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01052 
01053         if (tstchk) {
01054             zchkps_(dotype, &nn, nval, &nnb2, nbval2, &nrank, rankval, &
01055                     thresh, &tsterr, &lda, a, &a[21912], &a[43824], piv, work, 
01056                      rwork, &c__6);
01057         } else {
01058             s_wsfe(&io___108);
01059             do_fio(&c__1, path, (ftnlen)3);
01060             e_wsfe();
01061         }
01062 
01063     } else if (lsamen_(&c__2, c2, "PP")) {
01064 
01065 /*        PP:  positive definite packed matrices */
01066 
01067         ntypes = 9;
01068         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01069 
01070         if (tstchk) {
01071             zchkpp_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, &lda, a, 
01072                      &a[21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01073                      &c__6);
01074         } else {
01075             s_wsfe(&io___109);
01076             do_fio(&c__1, path, (ftnlen)3);
01077             e_wsfe();
01078         }
01079 
01080         if (tstdrv) {
01081             zdrvpp_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01082                     21912], &a[43824], b, &b[2112], &b[4224], &b[6336], s, 
01083                     work, rwork, &c__6);
01084         } else {
01085             s_wsfe(&io___110);
01086             do_fio(&c__1, path, (ftnlen)3);
01087             e_wsfe();
01088         }
01089 
01090     } else if (lsamen_(&c__2, c2, "PB")) {
01091 
01092 /*        PB:  positive definite banded matrices */
01093 
01094         ntypes = 8;
01095         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01096 
01097         if (tstchk) {
01098             zchkpb_(dotype, &nn, nval, &nnb2, nbval2, &nns, nsval, &thresh, &
01099                     tsterr, &lda, a, &a[21912], &a[43824], b, &b[2112], &b[
01100                     4224], work, rwork, &c__6);
01101         } else {
01102             s_wsfe(&io___111);
01103             do_fio(&c__1, path, (ftnlen)3);
01104             e_wsfe();
01105         }
01106 
01107         if (tstdrv) {
01108             zdrvpb_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01109                     21912], &a[43824], b, &b[2112], &b[4224], &b[6336], s, 
01110                     work, rwork, &c__6);
01111         } else {
01112             s_wsfe(&io___112);
01113             do_fio(&c__1, path, (ftnlen)3);
01114             e_wsfe();
01115         }
01116 
01117     } else if (lsamen_(&c__2, c2, "PT")) {
01118 
01119 /*        PT:  positive definite tridiagonal matrices */
01120 
01121         ntypes = 12;
01122         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01123 
01124         if (tstchk) {
01125             zchkpt_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, a, s, &
01126                     a[21912], b, &b[2112], &b[4224], work, rwork, &c__6);
01127         } else {
01128             s_wsfe(&io___113);
01129             do_fio(&c__1, path, (ftnlen)3);
01130             e_wsfe();
01131         }
01132 
01133         if (tstdrv) {
01134             zdrvpt_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, a, s, &a[
01135                     21912], b, &b[2112], &b[4224], work, rwork, &c__6);
01136         } else {
01137             s_wsfe(&io___114);
01138             do_fio(&c__1, path, (ftnlen)3);
01139             e_wsfe();
01140         }
01141 
01142     } else if (lsamen_(&c__2, c2, "HE")) {
01143 
01144 /*        HE:  Hermitian indefinite matrices */
01145 
01146         ntypes = 10;
01147         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01148 
01149         if (tstchk) {
01150             zchkhe_(dotype, &nn, nval, &nnb2, nbval2, &nns, nsval, &thresh, &
01151                     tsterr, &lda, a, &a[21912], &a[43824], b, &b[2112], &b[
01152                     4224], work, rwork, iwork, &c__6);
01153         } else {
01154             s_wsfe(&io___115);
01155             do_fio(&c__1, path, (ftnlen)3);
01156             e_wsfe();
01157         }
01158 
01159         if (tstdrv) {
01160             zdrvhe_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01161                     21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01162                     iwork, &c__6);
01163         } else {
01164             s_wsfe(&io___116);
01165             do_fio(&c__1, path, (ftnlen)3);
01166             e_wsfe();
01167         }
01168 
01169     } else if (lsamen_(&c__2, c2, "HP")) {
01170 
01171 /*        HP:  Hermitian indefinite packed matrices */
01172 
01173         ntypes = 10;
01174         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01175 
01176         if (tstchk) {
01177             zchkhp_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, &lda, a, 
01178                      &a[21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01179                      iwork, &c__6);
01180         } else {
01181             s_wsfe(&io___117);
01182             do_fio(&c__1, path, (ftnlen)3);
01183             e_wsfe();
01184         }
01185 
01186         if (tstdrv) {
01187             zdrvhp_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01188                     21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01189                     iwork, &c__6);
01190         } else {
01191             s_wsfe(&io___118);
01192             do_fio(&c__1, path, (ftnlen)3);
01193             e_wsfe();
01194         }
01195 
01196     } else if (lsamen_(&c__2, c2, "SY")) {
01197 
01198 /*        SY:  symmetric indefinite matrices */
01199 
01200         ntypes = 11;
01201         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01202 
01203         if (tstchk) {
01204             zchksy_(dotype, &nn, nval, &nnb2, nbval2, &nns, nsval, &thresh, &
01205                     tsterr, &lda, a, &a[21912], &a[43824], b, &b[2112], &b[
01206                     4224], work, rwork, iwork, &c__6);
01207         } else {
01208             s_wsfe(&io___119);
01209             do_fio(&c__1, path, (ftnlen)3);
01210             e_wsfe();
01211         }
01212 
01213         if (tstdrv) {
01214             zdrvsy_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01215                     21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01216                     iwork, &c__6);
01217         } else {
01218             s_wsfe(&io___120);
01219             do_fio(&c__1, path, (ftnlen)3);
01220             e_wsfe();
01221         }
01222 
01223     } else if (lsamen_(&c__2, c2, "SP")) {
01224 
01225 /*        SP:  symmetric indefinite packed matrices */
01226 
01227         ntypes = 11;
01228         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01229 
01230         if (tstchk) {
01231             zchksp_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, &lda, a, 
01232                      &a[21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01233                      iwork, &c__6);
01234         } else {
01235             s_wsfe(&io___121);
01236             do_fio(&c__1, path, (ftnlen)3);
01237             e_wsfe();
01238         }
01239 
01240         if (tstdrv) {
01241             zdrvsp_(dotype, &nn, nval, &nrhs, &thresh, &tsterr, &lda, a, &a[
01242                     21912], &a[43824], b, &b[2112], &b[4224], work, rwork, 
01243                     iwork, &c__6);
01244         } else {
01245             s_wsfe(&io___122);
01246             do_fio(&c__1, path, (ftnlen)3);
01247             e_wsfe();
01248         }
01249 
01250     } else if (lsamen_(&c__2, c2, "TR")) {
01251 
01252 /*        TR:  triangular matrices */
01253 
01254         ntypes = 18;
01255         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01256 
01257         if (tstchk) {
01258             zchktr_(dotype, &nn, nval, &nnb2, nbval2, &nns, nsval, &thresh, &
01259                     tsterr, &lda, a, &a[21912], b, &b[2112], &b[4224], work, 
01260                     rwork, &c__6);
01261         } else {
01262             s_wsfe(&io___123);
01263             do_fio(&c__1, path, (ftnlen)3);
01264             e_wsfe();
01265         }
01266 
01267     } else if (lsamen_(&c__2, c2, "TP")) {
01268 
01269 /*        TP:  triangular packed matrices */
01270 
01271         ntypes = 18;
01272         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01273 
01274         if (tstchk) {
01275             zchktp_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, &lda, a, 
01276                      &a[21912], b, &b[2112], &b[4224], work, rwork, &c__6);
01277         } else {
01278             s_wsfe(&io___124);
01279             do_fio(&c__1, path, (ftnlen)3);
01280             e_wsfe();
01281         }
01282 
01283     } else if (lsamen_(&c__2, c2, "TB")) {
01284 
01285 /*        TB:  triangular banded matrices */
01286 
01287         ntypes = 17;
01288         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01289 
01290         if (tstchk) {
01291             zchktb_(dotype, &nn, nval, &nns, nsval, &thresh, &tsterr, &lda, a, 
01292                      &a[21912], b, &b[2112], &b[4224], work, rwork, &c__6);
01293         } else {
01294             s_wsfe(&io___125);
01295             do_fio(&c__1, path, (ftnlen)3);
01296             e_wsfe();
01297         }
01298 
01299     } else if (lsamen_(&c__2, c2, "QR")) {
01300 
01301 /*        QR:  QR factorization */
01302 
01303         ntypes = 8;
01304         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01305 
01306         if (tstchk) {
01307             zchkqr_(dotype, &nm, mval, &nn, nval, &nnb, nbval, nxval, &nrhs, &
01308                     thresh, &tsterr, &c__132, a, &a[21912], &a[43824], &a[
01309                     65736], &a[87648], b, &b[2112], &b[4224], &b[6336], work, 
01310                     rwork, iwork, &c__6);
01311         } else {
01312             s_wsfe(&io___126);
01313             do_fio(&c__1, path, (ftnlen)3);
01314             e_wsfe();
01315         }
01316 
01317     } else if (lsamen_(&c__2, c2, "LQ")) {
01318 
01319 /*        LQ:  LQ factorization */
01320 
01321         ntypes = 8;
01322         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01323 
01324         if (tstchk) {
01325             zchklq_(dotype, &nm, mval, &nn, nval, &nnb, nbval, nxval, &nrhs, &
01326                     thresh, &tsterr, &c__132, a, &a[21912], &a[43824], &a[
01327                     65736], &a[87648], b, &b[2112], &b[4224], &b[6336], work, 
01328                     rwork, iwork, &c__6);
01329         } else {
01330             s_wsfe(&io___127);
01331             do_fio(&c__1, path, (ftnlen)3);
01332             e_wsfe();
01333         }
01334 
01335     } else if (lsamen_(&c__2, c2, "QL")) {
01336 
01337 /*        QL:  QL factorization */
01338 
01339         ntypes = 8;
01340         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01341 
01342         if (tstchk) {
01343             zchkql_(dotype, &nm, mval, &nn, nval, &nnb, nbval, nxval, &nrhs, &
01344                     thresh, &tsterr, &c__132, a, &a[21912], &a[43824], &a[
01345                     65736], &a[87648], b, &b[2112], &b[4224], &b[6336], work, 
01346                     rwork, iwork, &c__6);
01347         } else {
01348             s_wsfe(&io___128);
01349             do_fio(&c__1, path, (ftnlen)3);
01350             e_wsfe();
01351         }
01352 
01353     } else if (lsamen_(&c__2, c2, "RQ")) {
01354 
01355 /*        RQ:  RQ factorization */
01356 
01357         ntypes = 8;
01358         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01359 
01360         if (tstchk) {
01361             zchkrq_(dotype, &nm, mval, &nn, nval, &nnb, nbval, nxval, &nrhs, &
01362                     thresh, &tsterr, &c__132, a, &a[21912], &a[43824], &a[
01363                     65736], &a[87648], b, &b[2112], &b[4224], &b[6336], work, 
01364                     rwork, iwork, &c__6);
01365         } else {
01366             s_wsfe(&io___129);
01367             do_fio(&c__1, path, (ftnlen)3);
01368             e_wsfe();
01369         }
01370 
01371     } else if (lsamen_(&c__2, c2, "EQ")) {
01372 
01373 /*        EQ:  Equilibration routines for general and positive definite */
01374 /*             matrices (THREQ should be between 2 and 10) */
01375 
01376         if (tstchk) {
01377             zchkeq_(&threq, &c__6);
01378         } else {
01379             s_wsfe(&io___130);
01380             do_fio(&c__1, path, (ftnlen)3);
01381             e_wsfe();
01382         }
01383 
01384     } else if (lsamen_(&c__2, c2, "TZ")) {
01385 
01386 /*        TZ:  Trapezoidal matrix */
01387 
01388         ntypes = 3;
01389         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01390 
01391         if (tstchk) {
01392             zchktz_(dotype, &nm, mval, &nn, nval, &thresh, &tsterr, a, &a[
01393                     21912], s, &s[132], b, work, rwork, &c__6);
01394         } else {
01395             s_wsfe(&io___131);
01396             do_fio(&c__1, path, (ftnlen)3);
01397             e_wsfe();
01398         }
01399 
01400     } else if (lsamen_(&c__2, c2, "QP")) {
01401 
01402 /*        QP:  QR factorization with pivoting */
01403 
01404         ntypes = 6;
01405         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01406 
01407         if (tstchk) {
01408             zchkqp_(dotype, &nm, mval, &nn, nval, &thresh, &tsterr, a, &a[
01409                     21912], s, &s[132], b, work, rwork, iwork, &c__6);
01410             zchkq3_(dotype, &nm, mval, &nn, nval, &nnb, nbval, nxval, &thresh, 
01411                      a, &a[21912], s, &s[132], b, work, rwork, iwork, &c__6);
01412         } else {
01413             s_wsfe(&io___132);
01414             do_fio(&c__1, path, (ftnlen)3);
01415             e_wsfe();
01416         }
01417 
01418     } else if (lsamen_(&c__2, c2, "LS")) {
01419 
01420 /*        LS:  Least squares drivers */
01421 
01422         ntypes = 6;
01423         alareq_(path, &nmats, dotype, &ntypes, &c__5, &c__6);
01424 
01425         if (tstdrv) {
01426             zdrvls_(dotype, &nm, mval, &nn, nval, &nns, nsval, &nnb, nbval, 
01427                     nxval, &thresh, &tsterr, a, &a[21912], &a[43824], &a[
01428                     65736], &a[87648], s, &s[132], work, rwork, iwork, &c__6);
01429         } else {
01430             s_wsfe(&io___133);
01431             do_fio(&c__1, path, (ftnlen)3);
01432             e_wsfe();
01433         }
01434 
01435     } else {
01436 
01437         s_wsfe(&io___134);
01438         do_fio(&c__1, path, (ftnlen)3);
01439         e_wsfe();
01440     }
01441 
01442 /*     Go back to get another input line. */
01443 
01444     goto L80;
01445 
01446 /*     Branch to this line when the last record is read. */
01447 
01448 L140:
01449     cl__1.cerr = 0;
01450     cl__1.cunit = 5;
01451     cl__1.csta = 0;
01452     f_clos(&cl__1);
01453     s2 = dsecnd_();
01454     s_wsfe(&io___136);
01455     e_wsfe();
01456     s_wsfe(&io___137);
01457     d__1 = s2 - s1;
01458     do_fio(&c__1, (char *)&d__1, (ftnlen)sizeof(doublereal));
01459     e_wsfe();
01460 
01461 
01462 /*     End of ZCHKAA */
01463 
01464     return 0;
01465 } /* MAIN__ */
01466 
01467 /* Main program alias */ int zchkaa_ () { MAIN__ (); return 0; }


swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:56:17