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


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