derred.c
Go to the documentation of this file.
00001 /* derred.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, nout;
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 selopt, seldim;
00033     logical selval[20];
00034     doublereal selwr[20], selwi[20];
00035 } sslct_;
00036 
00037 #define sslct_1 sslct_
00038 
00039 /* Table of constant values */
00040 
00041 static integer c__2 = 2;
00042 static integer c__0 = 0;
00043 static integer c__1 = 1;
00044 static integer c_n1 = -1;
00045 static integer c__6 = 6;
00046 static integer c__8 = 8;
00047 static integer c__3 = 3;
00048 static integer c__5 = 5;
00049 
00050 /* Subroutine */ int derred_(char *path, integer *nunit)
00051 {
00052     /* Format strings */
00053     static char fmt_9999[] = "(1x,a,\002 passed the tests of the error exits"
00054             " (\002,i3,\002 tests done)\002)";
00055     static char fmt_9998[] = "(\002 *** \002,a,\002 failed the tests of the "
00056             "error exits ***\002)";
00057 
00058     /* Builtin functions */
00059     integer s_wsle(cilist *), e_wsle(void);
00060     /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);
00061     integer s_wsfe(cilist *), i_len_trim(char *, ftnlen), do_fio(integer *, 
00062             char *, ftnlen), e_wsfe(void);
00063 
00064     /* Local variables */
00065     doublereal a[16]    /* was [4][4] */;
00066     logical b[4];
00067     integer i__, j;
00068     doublereal s[4], u[16]      /* was [4][4] */, w[16];
00069     char c2[2];
00070     doublereal r1[4], r2[4];
00071     integer iw[8];
00072     doublereal wi[4];
00073     integer nt;
00074     doublereal vl[16]   /* was [4][4] */, vr[16]        /* was [4][4] */, wr[
00075             4], vt[16]  /* was [4][4] */;
00076     integer ihi, ilo, info, sdim;
00077     extern /* Subroutine */ int dgees_(char *, char *, L_fp, integer *, 
00078             doublereal *, integer *, integer *, doublereal *, doublereal *, 
00079             doublereal *, integer *, doublereal *, integer *, logical *, 
00080             integer *), dgeev_(char *, char *, integer *, 
00081             doublereal *, integer *, doublereal *, doublereal *, doublereal *, 
00082              integer *, doublereal *, integer *, doublereal *, integer *, 
00083             integer *);
00084     doublereal abnrm;
00085     extern /* Subroutine */ int dgesdd_(char *, integer *, integer *, 
00086             doublereal *, integer *, doublereal *, doublereal *, integer *, 
00087             doublereal *, integer *, doublereal *, integer *, integer *, 
00088             integer *), dgesvd_(char *, char *, integer *, integer *, 
00089             doublereal *, integer *, doublereal *, doublereal *, integer *, 
00090             doublereal *, integer *, doublereal *, integer *, integer *);
00091     extern logical dslect_();
00092     extern /* Subroutine */ int dgeesx_(char *, char *, L_fp, char *, integer 
00093             *, doublereal *, integer *, integer *, doublereal *, doublereal *, 
00094              doublereal *, integer *, doublereal *, doublereal *, doublereal *
00095 , integer *, integer *, integer *, logical *, integer *);
00096     extern logical lsamen_(integer *, char *, char *);
00097     extern /* Subroutine */ int dgeevx_(char *, char *, char *, char *, 
00098             integer *, doublereal *, integer *, doublereal *, doublereal *, 
00099             doublereal *, integer *, doublereal *, integer *, integer *, 
00100             integer *, doublereal *, doublereal *, doublereal *, doublereal *, 
00101              doublereal *, integer *, integer *, integer *), chkxer_(char *, integer *, integer *, logical *, 
00102             logical *);
00103 
00104     /* Fortran I/O blocks */
00105     static cilist io___1 = { 0, 0, 0, 0, 0 };
00106     static cilist io___24 = { 0, 0, 0, fmt_9999, 0 };
00107     static cilist io___25 = { 0, 0, 0, fmt_9998, 0 };
00108     static cilist io___26 = { 0, 0, 0, fmt_9999, 0 };
00109     static cilist io___27 = { 0, 0, 0, fmt_9998, 0 };
00110     static cilist io___28 = { 0, 0, 0, fmt_9999, 0 };
00111     static cilist io___29 = { 0, 0, 0, fmt_9998, 0 };
00112 
00113 
00114 
00115 /*  -- LAPACK test routine (version 3.1) -- */
00116 /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
00117 /*     November 2006 */
00118 
00119 /*     .. Scalar Arguments .. */
00120 /*     .. */
00121 
00122 /*  Purpose */
00123 /*  ======= */
00124 
00125 /*  DERRED tests the error exits for the eigenvalue driver routines for */
00126 /*  DOUBLE PRECISION matrices: */
00127 
00128 /*  PATH  driver   description */
00129 /*  ----  ------   ----------- */
00130 /*  SEV   DGEEV    find eigenvalues/eigenvectors for nonsymmetric A */
00131 /*  SES   DGEES    find eigenvalues/Schur form for nonsymmetric A */
00132 /*  SVX   DGEEVX   SGEEV + balancing and condition estimation */
00133 /*  SSX   DGEESX   SGEES + balancing and condition estimation */
00134 /*  DBD   DGESVD   compute SVD of an M-by-N matrix A */
00135 /*        DGESDD   compute SVD of an M-by-N matrix A (by divide and */
00136 /*                 conquer) */
00137 
00138 /*  Arguments */
00139 /*  ========= */
00140 
00141 /*  PATH    (input) CHARACTER*3 */
00142 /*          The LAPACK path name for the routines to be tested. */
00143 
00144 /*  NUNIT   (input) INTEGER */
00145 /*          The unit number for output. */
00146 
00147 /*  ===================================================================== */
00148 
00149 /*     .. Parameters .. */
00150 /*     .. */
00151 /*     .. Local Scalars .. */
00152 /*     .. */
00153 /*     .. Local Arrays .. */
00154 /*     .. */
00155 /*     .. External Subroutines .. */
00156 /*     .. */
00157 /*     .. External Functions .. */
00158 /*     .. */
00159 /*     .. Intrinsic Functions .. */
00160 /*     .. */
00161 /*     .. Arrays in Common .. */
00162 /*     .. */
00163 /*     .. Scalars in Common .. */
00164 /*     .. */
00165 /*     .. Common blocks .. */
00166 /*     .. */
00167 /*     .. Executable Statements .. */
00168 
00169     infoc_1.nout = *nunit;
00170     io___1.ciunit = infoc_1.nout;
00171     s_wsle(&io___1);
00172     e_wsle();
00173     s_copy(c2, path + 1, (ftnlen)2, (ftnlen)2);
00174 
00175 /*     Initialize A */
00176 
00177     for (j = 1; j <= 4; ++j) {
00178         for (i__ = 1; i__ <= 4; ++i__) {
00179             a[i__ + (j << 2) - 5] = 0.;
00180 /* L10: */
00181         }
00182 /* L20: */
00183     }
00184     for (i__ = 1; i__ <= 4; ++i__) {
00185         a[i__ + (i__ << 2) - 5] = 1.;
00186 /* L30: */
00187     }
00188     infoc_1.ok = TRUE_;
00189     nt = 0;
00190 
00191     if (lsamen_(&c__2, c2, "EV")) {
00192 
00193 /*        Test DGEEV */
00194 
00195         s_copy(srnamc_1.srnamt, "DGEEV ", (ftnlen)32, (ftnlen)6);
00196         infoc_1.infot = 1;
00197         dgeev_("X", "N", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &c__1, w, &
00198                 c__1, &info);
00199         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00200                 infoc_1.ok);
00201         infoc_1.infot = 2;
00202         dgeev_("N", "X", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &c__1, w, &
00203                 c__1, &info);
00204         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00205                 infoc_1.ok);
00206         infoc_1.infot = 3;
00207         dgeev_("N", "N", &c_n1, a, &c__1, wr, wi, vl, &c__1, vr, &c__1, w, &
00208                 c__1, &info);
00209         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00210                 infoc_1.ok);
00211         infoc_1.infot = 5;
00212         dgeev_("N", "N", &c__2, a, &c__1, wr, wi, vl, &c__1, vr, &c__1, w, &
00213                 c__6, &info);
00214         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00215                 infoc_1.ok);
00216         infoc_1.infot = 9;
00217         dgeev_("V", "N", &c__2, a, &c__2, wr, wi, vl, &c__1, vr, &c__1, w, &
00218                 c__8, &info);
00219         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00220                 infoc_1.ok);
00221         infoc_1.infot = 11;
00222         dgeev_("N", "V", &c__2, a, &c__2, wr, wi, vl, &c__1, vr, &c__1, w, &
00223                 c__8, &info);
00224         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00225                 infoc_1.ok);
00226         infoc_1.infot = 13;
00227         dgeev_("V", "V", &c__1, a, &c__1, wr, wi, vl, &c__1, vr, &c__1, w, &
00228                 c__3, &info);
00229         chkxer_("DGEEV ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00230                 infoc_1.ok);
00231         nt += 7;
00232 
00233     } else if (lsamen_(&c__2, c2, "ES")) {
00234 
00235 /*        Test DGEES */
00236 
00237         s_copy(srnamc_1.srnamt, "DGEES ", (ftnlen)32, (ftnlen)6);
00238         infoc_1.infot = 1;
00239         dgees_("X", "N", (L_fp)dslect_, &c__0, a, &c__1, &sdim, wr, wi, vl, &
00240                 c__1, w, &c__1, b, &info);
00241         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00242                 infoc_1.ok);
00243         infoc_1.infot = 2;
00244         dgees_("N", "X", (L_fp)dslect_, &c__0, a, &c__1, &sdim, wr, wi, vl, &
00245                 c__1, w, &c__1, b, &info);
00246         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00247                 infoc_1.ok);
00248         infoc_1.infot = 4;
00249         dgees_("N", "S", (L_fp)dslect_, &c_n1, a, &c__1, &sdim, wr, wi, vl, &
00250                 c__1, w, &c__1, b, &info);
00251         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00252                 infoc_1.ok);
00253         infoc_1.infot = 6;
00254         dgees_("N", "S", (L_fp)dslect_, &c__2, a, &c__1, &sdim, wr, wi, vl, &
00255                 c__1, w, &c__6, b, &info);
00256         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00257                 infoc_1.ok);
00258         infoc_1.infot = 11;
00259         dgees_("V", "S", (L_fp)dslect_, &c__2, a, &c__2, &sdim, wr, wi, vl, &
00260                 c__1, w, &c__6, b, &info);
00261         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00262                 infoc_1.ok);
00263         infoc_1.infot = 13;
00264         dgees_("N", "S", (L_fp)dslect_, &c__1, a, &c__1, &sdim, wr, wi, vl, &
00265                 c__1, w, &c__2, b, &info);
00266         chkxer_("DGEES ", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00267                 infoc_1.ok);
00268         nt += 6;
00269 
00270     } else if (lsamen_(&c__2, c2, "VX")) {
00271 
00272 /*        Test DGEEVX */
00273 
00274         s_copy(srnamc_1.srnamt, "DGEEVX", (ftnlen)32, (ftnlen)6);
00275         infoc_1.infot = 1;
00276         dgeevx_("X", "N", "N", "N", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &
00277                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00278         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00279                 infoc_1.ok);
00280         infoc_1.infot = 2;
00281         dgeevx_("N", "X", "N", "N", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &
00282                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00283         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00284                 infoc_1.ok);
00285         infoc_1.infot = 3;
00286         dgeevx_("N", "N", "X", "N", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &
00287                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00288         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00289                 infoc_1.ok);
00290         infoc_1.infot = 4;
00291         dgeevx_("N", "N", "N", "X", &c__0, a, &c__1, wr, wi, vl, &c__1, vr, &
00292                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00293         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00294                 infoc_1.ok);
00295         infoc_1.infot = 5;
00296         dgeevx_("N", "N", "N", "N", &c_n1, a, &c__1, wr, wi, vl, &c__1, vr, &
00297                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00298         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00299                 infoc_1.ok);
00300         infoc_1.infot = 7;
00301         dgeevx_("N", "N", "N", "N", &c__2, a, &c__1, wr, wi, vl, &c__1, vr, &
00302                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00303         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00304                 infoc_1.ok);
00305         infoc_1.infot = 11;
00306         dgeevx_("N", "V", "N", "N", &c__2, a, &c__2, wr, wi, vl, &c__1, vr, &
00307                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__6, iw, &info);
00308         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00309                 infoc_1.ok);
00310         infoc_1.infot = 13;
00311         dgeevx_("N", "N", "V", "N", &c__2, a, &c__2, wr, wi, vl, &c__1, vr, &
00312                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__6, iw, &info);
00313         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00314                 infoc_1.ok);
00315         infoc_1.infot = 21;
00316         dgeevx_("N", "N", "N", "N", &c__1, a, &c__1, wr, wi, vl, &c__1, vr, &
00317                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__1, iw, &info);
00318         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00319                 infoc_1.ok);
00320         infoc_1.infot = 21;
00321         dgeevx_("N", "V", "N", "N", &c__1, a, &c__1, wr, wi, vl, &c__1, vr, &
00322                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__2, iw, &info);
00323         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00324                 infoc_1.ok);
00325         infoc_1.infot = 21;
00326         dgeevx_("N", "N", "V", "V", &c__1, a, &c__1, wr, wi, vl, &c__1, vr, &
00327                 c__1, &ilo, &ihi, s, &abnrm, r1, r2, w, &c__3, iw, &info);
00328         chkxer_("DGEEVX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00329                 infoc_1.ok);
00330         nt += 11;
00331 
00332     } else if (lsamen_(&c__2, c2, "SX")) {
00333 
00334 /*        Test DGEESX */
00335 
00336         s_copy(srnamc_1.srnamt, "DGEESX", (ftnlen)32, (ftnlen)6);
00337         infoc_1.infot = 1;
00338         dgeesx_("X", "N", (L_fp)dslect_, "N", &c__0, a, &c__1, &sdim, wr, wi, 
00339                 vl, &c__1, r1, r2, w, &c__1, iw, &c__1, b, &info);
00340         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00341                 infoc_1.ok);
00342         infoc_1.infot = 2;
00343         dgeesx_("N", "X", (L_fp)dslect_, "N", &c__0, a, &c__1, &sdim, wr, wi, 
00344                 vl, &c__1, r1, r2, w, &c__1, iw, &c__1, b, &info);
00345         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00346                 infoc_1.ok);
00347         infoc_1.infot = 4;
00348         dgeesx_("N", "N", (L_fp)dslect_, "X", &c__0, a, &c__1, &sdim, wr, wi, 
00349                 vl, &c__1, r1, r2, w, &c__1, iw, &c__1, b, &info);
00350         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00351                 infoc_1.ok);
00352         infoc_1.infot = 5;
00353         dgeesx_("N", "N", (L_fp)dslect_, "N", &c_n1, a, &c__1, &sdim, wr, wi, 
00354                 vl, &c__1, r1, r2, w, &c__1, iw, &c__1, b, &info);
00355         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00356                 infoc_1.ok);
00357         infoc_1.infot = 7;
00358         dgeesx_("N", "N", (L_fp)dslect_, "N", &c__2, a, &c__1, &sdim, wr, wi, 
00359                 vl, &c__1, r1, r2, w, &c__6, iw, &c__1, b, &info);
00360         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00361                 infoc_1.ok);
00362         infoc_1.infot = 12;
00363         dgeesx_("V", "N", (L_fp)dslect_, "N", &c__2, a, &c__2, &sdim, wr, wi, 
00364                 vl, &c__1, r1, r2, w, &c__6, iw, &c__1, b, &info);
00365         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00366                 infoc_1.ok);
00367         infoc_1.infot = 16;
00368         dgeesx_("N", "N", (L_fp)dslect_, "N", &c__1, a, &c__1, &sdim, wr, wi, 
00369                 vl, &c__1, r1, r2, w, &c__2, iw, &c__1, b, &info);
00370         chkxer_("DGEESX", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00371                 infoc_1.ok);
00372         nt += 7;
00373 
00374     } else if (lsamen_(&c__2, c2, "BD")) {
00375 
00376 /*        Test DGESVD */
00377 
00378         s_copy(srnamc_1.srnamt, "DGESVD", (ftnlen)32, (ftnlen)6);
00379         infoc_1.infot = 1;
00380         dgesvd_("X", "N", &c__0, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00381                 c__1, &info);
00382         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00383                 infoc_1.ok);
00384         infoc_1.infot = 2;
00385         dgesvd_("N", "X", &c__0, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00386                 c__1, &info);
00387         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00388                 infoc_1.ok);
00389         infoc_1.infot = 2;
00390         dgesvd_("O", "O", &c__0, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00391                 c__1, &info);
00392         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00393                 infoc_1.ok);
00394         infoc_1.infot = 3;
00395         dgesvd_("N", "N", &c_n1, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00396                 c__1, &info);
00397         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00398                 infoc_1.ok);
00399         infoc_1.infot = 4;
00400         dgesvd_("N", "N", &c__0, &c_n1, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00401                 c__1, &info);
00402         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00403                 infoc_1.ok);
00404         infoc_1.infot = 6;
00405         dgesvd_("N", "N", &c__2, &c__1, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00406                 c__5, &info);
00407         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00408                 infoc_1.ok);
00409         infoc_1.infot = 9;
00410         dgesvd_("A", "N", &c__2, &c__1, a, &c__2, s, u, &c__1, vt, &c__1, w, &
00411                 c__5, &info);
00412         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00413                 infoc_1.ok);
00414         infoc_1.infot = 11;
00415         dgesvd_("N", "A", &c__1, &c__2, a, &c__1, s, u, &c__1, vt, &c__1, w, &
00416                 c__5, &info);
00417         chkxer_("DGESVD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00418                 infoc_1.ok);
00419         nt += 8;
00420         if (infoc_1.ok) {
00421             io___24.ciunit = infoc_1.nout;
00422             s_wsfe(&io___24);
00423             do_fio(&c__1, srnamc_1.srnamt, i_len_trim(srnamc_1.srnamt, (
00424                     ftnlen)32));
00425             do_fio(&c__1, (char *)&nt, (ftnlen)sizeof(integer));
00426             e_wsfe();
00427         } else {
00428             io___25.ciunit = infoc_1.nout;
00429             s_wsfe(&io___25);
00430             e_wsfe();
00431         }
00432 
00433 /*        Test DGESDD */
00434 
00435         s_copy(srnamc_1.srnamt, "DGESDD", (ftnlen)32, (ftnlen)6);
00436         infoc_1.infot = 1;
00437         dgesdd_("X", &c__0, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &c__1, 
00438                  iw, &info);
00439         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00440                 infoc_1.ok);
00441         infoc_1.infot = 2;
00442         dgesdd_("N", &c_n1, &c__0, a, &c__1, s, u, &c__1, vt, &c__1, w, &c__1, 
00443                  iw, &info);
00444         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00445                 infoc_1.ok);
00446         infoc_1.infot = 3;
00447         dgesdd_("N", &c__0, &c_n1, a, &c__1, s, u, &c__1, vt, &c__1, w, &c__1, 
00448                  iw, &info);
00449         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00450                 infoc_1.ok);
00451         infoc_1.infot = 5;
00452         dgesdd_("N", &c__2, &c__1, a, &c__1, s, u, &c__1, vt, &c__1, w, &c__5, 
00453                  iw, &info);
00454         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00455                 infoc_1.ok);
00456         infoc_1.infot = 8;
00457         dgesdd_("A", &c__2, &c__1, a, &c__2, s, u, &c__1, vt, &c__1, w, &c__5, 
00458                  iw, &info);
00459         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00460                 infoc_1.ok);
00461         infoc_1.infot = 10;
00462         dgesdd_("A", &c__1, &c__2, a, &c__1, s, u, &c__1, vt, &c__1, w, &c__5, 
00463                  iw, &info);
00464         chkxer_("DGESDD", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00465                 infoc_1.ok);
00466         nt += -2;
00467         if (infoc_1.ok) {
00468             io___26.ciunit = infoc_1.nout;
00469             s_wsfe(&io___26);
00470             do_fio(&c__1, srnamc_1.srnamt, i_len_trim(srnamc_1.srnamt, (
00471                     ftnlen)32));
00472             do_fio(&c__1, (char *)&nt, (ftnlen)sizeof(integer));
00473             e_wsfe();
00474         } else {
00475             io___27.ciunit = infoc_1.nout;
00476             s_wsfe(&io___27);
00477             e_wsfe();
00478         }
00479     }
00480 
00481 /*     Print a summary line. */
00482 
00483     if (! lsamen_(&c__2, c2, "BD")) {
00484         if (infoc_1.ok) {
00485             io___28.ciunit = infoc_1.nout;
00486             s_wsfe(&io___28);
00487             do_fio(&c__1, srnamc_1.srnamt, i_len_trim(srnamc_1.srnamt, (
00488                     ftnlen)32));
00489             do_fio(&c__1, (char *)&nt, (ftnlen)sizeof(integer));
00490             e_wsfe();
00491         } else {
00492             io___29.ciunit = infoc_1.nout;
00493             s_wsfe(&io___29);
00494             e_wsfe();
00495         }
00496     }
00497 
00498     return 0;
00499 
00500 /*     End of DERRED */
00501 } /* derred_ */


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