00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "f2c.h"
00014 #include "blaswrap.h"
00015
00016
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
00032
00033 static integer c__1 = 1;
00034 static integer c__0 = 0;
00035 static integer c_n1 = -1;
00036 static integer c__2 = 2;
00037 static integer c__3 = 3;
00038 static integer c__4 = 4;
00039
00040 int serrec_(char *path, integer *nunit)
00041 {
00042
00043 static char fmt_9999[] = "(1x,a3,\002 routines passed the tests of the e"
00044 "rror exits (\002,i3,\002 tests done)\002)";
00045 static char fmt_9998[] = "(\002 *** \002,a3,\002 routines failed the tes"
00046 "ts of the error ex\002,\002its ***\002)";
00047
00048
00049 int s_copy(char *, char *, ftnlen, ftnlen);
00050 integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);
00051
00052
00053 real a[16] , b[16] , c__[16]
00054 ;
00055 integer i__, j, m;
00056 real s[4], wi[4];
00057 integer nt;
00058 real wr[4];
00059 logical sel[4];
00060 real sep[4];
00061 integer info, ifst, ilst;
00062 real work[4], scale;
00063 integer iwork[4];
00064 extern int chkxer_(char *, integer *, integer *, logical
00065 *, logical *), strexc_(char *, integer *, real *, integer
00066 *, real *, integer *, integer *, integer *, real *, integer *), strsna_(char *, char *, logical *, integer *, real *,
00067 integer *, real *, integer *, real *, integer *, real *, real *,
00068 integer *, integer *, real *, integer *, integer *, integer *), strsen_(char *, char *, logical *, integer *,
00069 real *, integer *, real *, integer *, real *, real *, integer *,
00070 real *, real *, real *, integer *, integer *, integer *, integer *
00071 ), strsyl_(char *, char *, integer *, integer *,
00072 integer *, real *, integer *, real *, integer *, real *, integer *
00073 , real *, integer *);
00074
00075
00076 static cilist io___19 = { 0, 0, 0, fmt_9999, 0 };
00077 static cilist io___20 = { 0, 0, 0, fmt_9998, 0 };
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120 infoc_1.nout = *nunit;
00121 infoc_1.ok = TRUE_;
00122 nt = 0;
00123
00124
00125
00126 for (j = 1; j <= 4; ++j) {
00127 for (i__ = 1; i__ <= 4; ++i__) {
00128 a[i__ + (j << 2) - 5] = 0.f;
00129 b[i__ + (j << 2) - 5] = 0.f;
00130
00131 }
00132
00133 }
00134 for (i__ = 1; i__ <= 4; ++i__) {
00135 a[i__ + (i__ << 2) - 5] = 1.f;
00136 sel[i__ - 1] = TRUE_;
00137
00138 }
00139
00140
00141
00142 s_copy(srnamc_1.srnamt, "STRSYL", (ftnlen)32, (ftnlen)6);
00143 infoc_1.infot = 1;
00144 strsyl_("X", "N", &c__1, &c__0, &c__0, a, &c__1, b, &c__1, c__, &c__1, &
00145 scale, &info);
00146 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00147 infoc_1.ok);
00148 infoc_1.infot = 2;
00149 strsyl_("N", "X", &c__1, &c__0, &c__0, a, &c__1, b, &c__1, c__, &c__1, &
00150 scale, &info);
00151 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00152 infoc_1.ok);
00153 infoc_1.infot = 3;
00154 strsyl_("N", "N", &c__0, &c__0, &c__0, a, &c__1, b, &c__1, c__, &c__1, &
00155 scale, &info);
00156 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00157 infoc_1.ok);
00158 infoc_1.infot = 4;
00159 strsyl_("N", "N", &c__1, &c_n1, &c__0, a, &c__1, b, &c__1, c__, &c__1, &
00160 scale, &info);
00161 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00162 infoc_1.ok);
00163 infoc_1.infot = 5;
00164 strsyl_("N", "N", &c__1, &c__0, &c_n1, a, &c__1, b, &c__1, c__, &c__1, &
00165 scale, &info);
00166 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00167 infoc_1.ok);
00168 infoc_1.infot = 7;
00169 strsyl_("N", "N", &c__1, &c__2, &c__0, a, &c__1, b, &c__1, c__, &c__2, &
00170 scale, &info);
00171 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00172 infoc_1.ok);
00173 infoc_1.infot = 9;
00174 strsyl_("N", "N", &c__1, &c__0, &c__2, a, &c__1, b, &c__1, c__, &c__1, &
00175 scale, &info);
00176 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00177 infoc_1.ok);
00178 infoc_1.infot = 11;
00179 strsyl_("N", "N", &c__1, &c__2, &c__0, a, &c__2, b, &c__1, c__, &c__1, &
00180 scale, &info);
00181 chkxer_("STRSYL", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00182 infoc_1.ok);
00183 nt += 8;
00184
00185
00186
00187 s_copy(srnamc_1.srnamt, "STREXC", (ftnlen)32, (ftnlen)6);
00188 ifst = 1;
00189 ilst = 1;
00190 infoc_1.infot = 1;
00191 strexc_("X", &c__1, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00192 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00193 infoc_1.ok);
00194 infoc_1.infot = 7;
00195 strexc_("N", &c__0, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00196 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00197 infoc_1.ok);
00198 infoc_1.infot = 4;
00199 ilst = 2;
00200 strexc_("N", &c__2, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00201 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00202 infoc_1.ok);
00203 infoc_1.infot = 6;
00204 strexc_("V", &c__2, a, &c__2, b, &c__1, &ifst, &ilst, work, &info);
00205 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00206 infoc_1.ok);
00207 infoc_1.infot = 7;
00208 ifst = 0;
00209 ilst = 1;
00210 strexc_("V", &c__1, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00211 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00212 infoc_1.ok);
00213 infoc_1.infot = 7;
00214 ifst = 2;
00215 strexc_("V", &c__1, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00216 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00217 infoc_1.ok);
00218 infoc_1.infot = 8;
00219 ifst = 1;
00220 ilst = 0;
00221 strexc_("V", &c__1, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00222 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00223 infoc_1.ok);
00224 infoc_1.infot = 8;
00225 ilst = 2;
00226 strexc_("V", &c__1, a, &c__1, b, &c__1, &ifst, &ilst, work, &info);
00227 chkxer_("STREXC", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00228 infoc_1.ok);
00229 nt += 8;
00230
00231
00232
00233 s_copy(srnamc_1.srnamt, "STRSNA", (ftnlen)32, (ftnlen)6);
00234 infoc_1.infot = 1;
00235 strsna_("X", "A", sel, &c__0, a, &c__1, b, &c__1, c__, &c__1, s, sep, &
00236 c__1, &m, work, &c__1, iwork, &info);
00237 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00238 infoc_1.ok);
00239 infoc_1.infot = 2;
00240 strsna_("B", "X", sel, &c__0, a, &c__1, b, &c__1, c__, &c__1, s, sep, &
00241 c__1, &m, work, &c__1, iwork, &info);
00242 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00243 infoc_1.ok);
00244 infoc_1.infot = 4;
00245 strsna_("B", "A", sel, &c_n1, a, &c__1, b, &c__1, c__, &c__1, s, sep, &
00246 c__1, &m, work, &c__1, iwork, &info);
00247 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00248 infoc_1.ok);
00249 infoc_1.infot = 6;
00250 strsna_("V", "A", sel, &c__2, a, &c__1, b, &c__1, c__, &c__1, s, sep, &
00251 c__2, &m, work, &c__2, iwork, &info);
00252 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00253 infoc_1.ok);
00254 infoc_1.infot = 8;
00255 strsna_("B", "A", sel, &c__2, a, &c__2, b, &c__1, c__, &c__2, s, sep, &
00256 c__2, &m, work, &c__2, iwork, &info);
00257 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00258 infoc_1.ok);
00259 infoc_1.infot = 10;
00260 strsna_("B", "A", sel, &c__2, a, &c__2, b, &c__2, c__, &c__1, s, sep, &
00261 c__2, &m, work, &c__2, iwork, &info);
00262 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00263 infoc_1.ok);
00264 infoc_1.infot = 13;
00265 strsna_("B", "A", sel, &c__1, a, &c__1, b, &c__1, c__, &c__1, s, sep, &
00266 c__0, &m, work, &c__1, iwork, &info);
00267 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00268 infoc_1.ok);
00269 infoc_1.infot = 13;
00270 strsna_("B", "S", sel, &c__2, a, &c__2, b, &c__2, c__, &c__2, s, sep, &
00271 c__1, &m, work, &c__2, iwork, &info);
00272 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00273 infoc_1.ok);
00274 infoc_1.infot = 16;
00275 strsna_("B", "A", sel, &c__2, a, &c__2, b, &c__2, c__, &c__2, s, sep, &
00276 c__2, &m, work, &c__1, iwork, &info);
00277 chkxer_("STRSNA", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00278 infoc_1.ok);
00279 nt += 9;
00280
00281
00282
00283 sel[0] = FALSE_;
00284 s_copy(srnamc_1.srnamt, "STRSEN", (ftnlen)32, (ftnlen)6);
00285 infoc_1.infot = 1;
00286 strsen_("X", "N", sel, &c__0, a, &c__1, b, &c__1, wr, wi, &m, s, sep,
00287 work, &c__1, iwork, &c__1, &info);
00288 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00289 infoc_1.ok);
00290 infoc_1.infot = 2;
00291 strsen_("N", "X", sel, &c__0, a, &c__1, b, &c__1, wr, wi, &m, s, sep,
00292 work, &c__1, iwork, &c__1, &info);
00293 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00294 infoc_1.ok);
00295 infoc_1.infot = 4;
00296 strsen_("N", "N", sel, &c_n1, a, &c__1, b, &c__1, wr, wi, &m, s, sep,
00297 work, &c__1, iwork, &c__1, &info);
00298 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00299 infoc_1.ok);
00300 infoc_1.infot = 6;
00301 strsen_("N", "N", sel, &c__2, a, &c__1, b, &c__1, wr, wi, &m, s, sep,
00302 work, &c__2, iwork, &c__1, &info);
00303 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00304 infoc_1.ok);
00305 infoc_1.infot = 8;
00306 strsen_("N", "V", sel, &c__2, a, &c__2, b, &c__1, wr, wi, &m, s, sep,
00307 work, &c__1, iwork, &c__1, &info);
00308 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00309 infoc_1.ok);
00310 infoc_1.infot = 15;
00311 strsen_("N", "V", sel, &c__2, a, &c__2, b, &c__2, wr, wi, &m, s, sep,
00312 work, &c__0, iwork, &c__1, &info);
00313 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00314 infoc_1.ok);
00315 infoc_1.infot = 15;
00316 strsen_("E", "V", sel, &c__3, a, &c__3, b, &c__3, wr, wi, &m, s, sep,
00317 work, &c__1, iwork, &c__1, &info);
00318 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00319 infoc_1.ok);
00320 infoc_1.infot = 15;
00321 strsen_("V", "V", sel, &c__3, a, &c__3, b, &c__3, wr, wi, &m, s, sep,
00322 work, &c__3, iwork, &c__2, &info);
00323 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00324 infoc_1.ok);
00325 infoc_1.infot = 17;
00326 strsen_("E", "V", sel, &c__2, a, &c__2, b, &c__2, wr, wi, &m, s, sep,
00327 work, &c__1, iwork, &c__0, &info);
00328 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00329 infoc_1.ok);
00330 infoc_1.infot = 17;
00331 strsen_("V", "V", sel, &c__3, a, &c__3, b, &c__3, wr, wi, &m, s, sep,
00332 work, &c__4, iwork, &c__1, &info);
00333 chkxer_("STRSEN", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00334 infoc_1.ok);
00335 nt += 10;
00336
00337
00338
00339 if (infoc_1.ok) {
00340 io___19.ciunit = infoc_1.nout;
00341 s_wsfe(&io___19);
00342 do_fio(&c__1, path, (ftnlen)3);
00343 do_fio(&c__1, (char *)&nt, (ftnlen)sizeof(integer));
00344 e_wsfe();
00345 } else {
00346 io___20.ciunit = infoc_1.nout;
00347 s_wsfe(&io___20);
00348 do_fio(&c__1, path, (ftnlen)3);
00349 e_wsfe();
00350 }
00351
00352 return 0;
00353
00354
00355
00356 }