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_n1 = -1;
00034 static integer c__0 = 0;
00035 static integer c__1 = 1;
00036 static integer c__2 = 2;
00037
00038 int serrqr_(char *path, integer *nunit)
00039 {
00040
00041 integer s_wsle(cilist *), e_wsle(void);
00042 int s_copy(char *, char *, ftnlen, ftnlen);
00043
00044
00045 real a[4] , b[2];
00046 integer i__, j;
00047 real w[2], x[2], af[4] ;
00048 integer info;
00049 extern int sgeqr2_(integer *, integer *, real *, integer
00050 *, real *, real *, integer *), sorg2r_(integer *, integer *,
00051 integer *, real *, integer *, real *, real *, integer *), sorm2r_(
00052 char *, char *, integer *, integer *, integer *, real *, integer *
00053 , real *, real *, integer *, real *, integer *),
00054 alaesm_(char *, logical *, integer *), chkxer_(char *,
00055 integer *, integer *, logical *, logical *), sgeqrf_(
00056 integer *, integer *, real *, integer *, real *, real *, integer *
00057 , integer *), sgeqrs_(integer *, integer *, integer *, real *,
00058 integer *, real *, real *, integer *, real *, integer *, integer *
00059 ), sorgqr_(integer *, integer *, integer *, real *, integer *,
00060 real *, real *, integer *, integer *), sormqr_(char *, char *,
00061 integer *, integer *, integer *, real *, integer *, real *, real *
00062 , integer *, real *, integer *, integer *);
00063
00064
00065 static cilist io___1 = { 0, 0, 0, 0, 0 };
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
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 infoc_1.nout = *nunit;
00110 io___1.ciunit = infoc_1.nout;
00111 s_wsle(&io___1);
00112 e_wsle();
00113
00114
00115
00116 for (j = 1; j <= 2; ++j) {
00117 for (i__ = 1; i__ <= 2; ++i__) {
00118 a[i__ + (j << 1) - 3] = 1.f / (real) (i__ + j);
00119 af[i__ + (j << 1) - 3] = 1.f / (real) (i__ + j);
00120
00121 }
00122 b[j - 1] = 0.f;
00123 w[j - 1] = 0.f;
00124 x[j - 1] = 0.f;
00125
00126 }
00127 infoc_1.ok = TRUE_;
00128
00129
00130
00131
00132
00133 s_copy(srnamc_1.srnamt, "SGEQRF", (ftnlen)32, (ftnlen)6);
00134 infoc_1.infot = 1;
00135 sgeqrf_(&c_n1, &c__0, a, &c__1, b, w, &c__1, &info);
00136 chkxer_("SGEQRF", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00137 infoc_1.ok);
00138 infoc_1.infot = 2;
00139 sgeqrf_(&c__0, &c_n1, a, &c__1, b, w, &c__1, &info);
00140 chkxer_("SGEQRF", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00141 infoc_1.ok);
00142 infoc_1.infot = 4;
00143 sgeqrf_(&c__2, &c__1, a, &c__1, b, w, &c__1, &info);
00144 chkxer_("SGEQRF", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00145 infoc_1.ok);
00146 infoc_1.infot = 7;
00147 sgeqrf_(&c__1, &c__2, a, &c__1, b, w, &c__1, &info);
00148 chkxer_("SGEQRF", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00149 infoc_1.ok);
00150
00151
00152
00153 s_copy(srnamc_1.srnamt, "SGEQR2", (ftnlen)32, (ftnlen)6);
00154 infoc_1.infot = 1;
00155 sgeqr2_(&c_n1, &c__0, a, &c__1, b, w, &info);
00156 chkxer_("SGEQR2", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00157 infoc_1.ok);
00158 infoc_1.infot = 2;
00159 sgeqr2_(&c__0, &c_n1, a, &c__1, b, w, &info);
00160 chkxer_("SGEQR2", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00161 infoc_1.ok);
00162 infoc_1.infot = 4;
00163 sgeqr2_(&c__2, &c__1, a, &c__1, b, w, &info);
00164 chkxer_("SGEQR2", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00165 infoc_1.ok);
00166
00167
00168
00169 s_copy(srnamc_1.srnamt, "SGEQRS", (ftnlen)32, (ftnlen)6);
00170 infoc_1.infot = 1;
00171 sgeqrs_(&c_n1, &c__0, &c__0, a, &c__1, x, b, &c__1, w, &c__1, &info);
00172 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00173 infoc_1.ok);
00174 infoc_1.infot = 2;
00175 sgeqrs_(&c__0, &c_n1, &c__0, a, &c__1, x, b, &c__1, w, &c__1, &info);
00176 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00177 infoc_1.ok);
00178 infoc_1.infot = 2;
00179 sgeqrs_(&c__1, &c__2, &c__0, a, &c__2, x, b, &c__2, w, &c__1, &info);
00180 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00181 infoc_1.ok);
00182 infoc_1.infot = 3;
00183 sgeqrs_(&c__0, &c__0, &c_n1, a, &c__1, x, b, &c__1, w, &c__1, &info);
00184 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00185 infoc_1.ok);
00186 infoc_1.infot = 5;
00187 sgeqrs_(&c__2, &c__1, &c__0, a, &c__1, x, b, &c__2, w, &c__1, &info);
00188 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00189 infoc_1.ok);
00190 infoc_1.infot = 8;
00191 sgeqrs_(&c__2, &c__1, &c__0, a, &c__2, x, b, &c__1, w, &c__1, &info);
00192 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00193 infoc_1.ok);
00194 infoc_1.infot = 10;
00195 sgeqrs_(&c__1, &c__1, &c__2, a, &c__1, x, b, &c__1, w, &c__1, &info);
00196 chkxer_("SGEQRS", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00197 infoc_1.ok);
00198
00199
00200
00201 s_copy(srnamc_1.srnamt, "SORGQR", (ftnlen)32, (ftnlen)6);
00202 infoc_1.infot = 1;
00203 sorgqr_(&c_n1, &c__0, &c__0, a, &c__1, x, w, &c__1, &info);
00204 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00205 infoc_1.ok);
00206 infoc_1.infot = 2;
00207 sorgqr_(&c__0, &c_n1, &c__0, a, &c__1, x, w, &c__1, &info);
00208 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00209 infoc_1.ok);
00210 infoc_1.infot = 2;
00211 sorgqr_(&c__1, &c__2, &c__0, a, &c__1, x, w, &c__2, &info);
00212 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00213 infoc_1.ok);
00214 infoc_1.infot = 3;
00215 sorgqr_(&c__0, &c__0, &c_n1, a, &c__1, x, w, &c__1, &info);
00216 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00217 infoc_1.ok);
00218 infoc_1.infot = 3;
00219 sorgqr_(&c__1, &c__1, &c__2, a, &c__1, x, w, &c__1, &info);
00220 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00221 infoc_1.ok);
00222 infoc_1.infot = 5;
00223 sorgqr_(&c__2, &c__2, &c__0, a, &c__1, x, w, &c__2, &info);
00224 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00225 infoc_1.ok);
00226 infoc_1.infot = 8;
00227 sorgqr_(&c__2, &c__2, &c__0, a, &c__2, x, w, &c__1, &info);
00228 chkxer_("SORGQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00229 infoc_1.ok);
00230
00231
00232
00233 s_copy(srnamc_1.srnamt, "SORG2R", (ftnlen)32, (ftnlen)6);
00234 infoc_1.infot = 1;
00235 sorg2r_(&c_n1, &c__0, &c__0, a, &c__1, x, w, &info);
00236 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00237 infoc_1.ok);
00238 infoc_1.infot = 2;
00239 sorg2r_(&c__0, &c_n1, &c__0, a, &c__1, x, w, &info);
00240 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00241 infoc_1.ok);
00242 infoc_1.infot = 2;
00243 sorg2r_(&c__1, &c__2, &c__0, a, &c__1, x, w, &info);
00244 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00245 infoc_1.ok);
00246 infoc_1.infot = 3;
00247 sorg2r_(&c__0, &c__0, &c_n1, a, &c__1, x, w, &info);
00248 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00249 infoc_1.ok);
00250 infoc_1.infot = 3;
00251 sorg2r_(&c__2, &c__1, &c__2, a, &c__2, x, w, &info);
00252 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00253 infoc_1.ok);
00254 infoc_1.infot = 5;
00255 sorg2r_(&c__2, &c__1, &c__0, a, &c__1, x, w, &info);
00256 chkxer_("SORG2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00257 infoc_1.ok);
00258
00259
00260
00261 s_copy(srnamc_1.srnamt, "SORMQR", (ftnlen)32, (ftnlen)6);
00262 infoc_1.infot = 1;
00263 sormqr_("/", "N", &c__0, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00264 info);
00265 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00266 infoc_1.ok);
00267 infoc_1.infot = 2;
00268 sormqr_("L", "/", &c__0, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00269 info);
00270 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00271 infoc_1.ok);
00272 infoc_1.infot = 3;
00273 sormqr_("L", "N", &c_n1, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00274 info);
00275 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00276 infoc_1.ok);
00277 infoc_1.infot = 4;
00278 sormqr_("L", "N", &c__0, &c_n1, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00279 info);
00280 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00281 infoc_1.ok);
00282 infoc_1.infot = 5;
00283 sormqr_("L", "N", &c__0, &c__0, &c_n1, a, &c__1, x, af, &c__1, w, &c__1, &
00284 info);
00285 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00286 infoc_1.ok);
00287 infoc_1.infot = 5;
00288 sormqr_("L", "N", &c__0, &c__1, &c__1, a, &c__1, x, af, &c__1, w, &c__1, &
00289 info);
00290 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00291 infoc_1.ok);
00292 infoc_1.infot = 5;
00293 sormqr_("R", "N", &c__1, &c__0, &c__1, a, &c__1, x, af, &c__1, w, &c__1, &
00294 info);
00295 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00296 infoc_1.ok);
00297 infoc_1.infot = 7;
00298 sormqr_("L", "N", &c__2, &c__1, &c__0, a, &c__1, x, af, &c__2, w, &c__1, &
00299 info);
00300 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00301 infoc_1.ok);
00302 infoc_1.infot = 7;
00303 sormqr_("R", "N", &c__1, &c__2, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00304 info);
00305 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00306 infoc_1.ok);
00307 infoc_1.infot = 10;
00308 sormqr_("L", "N", &c__2, &c__1, &c__0, a, &c__2, x, af, &c__1, w, &c__1, &
00309 info);
00310 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00311 infoc_1.ok);
00312 infoc_1.infot = 12;
00313 sormqr_("L", "N", &c__1, &c__2, &c__0, a, &c__1, x, af, &c__1, w, &c__1, &
00314 info);
00315 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00316 infoc_1.ok);
00317 infoc_1.infot = 12;
00318 sormqr_("R", "N", &c__2, &c__1, &c__0, a, &c__1, x, af, &c__2, w, &c__1, &
00319 info);
00320 chkxer_("SORMQR", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00321 infoc_1.ok);
00322
00323
00324
00325 s_copy(srnamc_1.srnamt, "SORM2R", (ftnlen)32, (ftnlen)6);
00326 infoc_1.infot = 1;
00327 sorm2r_("/", "N", &c__0, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &info);
00328 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00329 infoc_1.ok);
00330 infoc_1.infot = 2;
00331 sorm2r_("L", "/", &c__0, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &info);
00332 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00333 infoc_1.ok);
00334 infoc_1.infot = 3;
00335 sorm2r_("L", "N", &c_n1, &c__0, &c__0, a, &c__1, x, af, &c__1, w, &info);
00336 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00337 infoc_1.ok);
00338 infoc_1.infot = 4;
00339 sorm2r_("L", "N", &c__0, &c_n1, &c__0, a, &c__1, x, af, &c__1, w, &info);
00340 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00341 infoc_1.ok);
00342 infoc_1.infot = 5;
00343 sorm2r_("L", "N", &c__0, &c__0, &c_n1, a, &c__1, x, af, &c__1, w, &info);
00344 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00345 infoc_1.ok);
00346 infoc_1.infot = 5;
00347 sorm2r_("L", "N", &c__0, &c__1, &c__1, a, &c__1, x, af, &c__1, w, &info);
00348 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00349 infoc_1.ok);
00350 infoc_1.infot = 5;
00351 sorm2r_("R", "N", &c__1, &c__0, &c__1, a, &c__1, x, af, &c__1, w, &info);
00352 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00353 infoc_1.ok);
00354 infoc_1.infot = 7;
00355 sorm2r_("L", "N", &c__2, &c__1, &c__0, a, &c__1, x, af, &c__2, w, &info);
00356 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00357 infoc_1.ok);
00358 infoc_1.infot = 7;
00359 sorm2r_("R", "N", &c__1, &c__2, &c__0, a, &c__1, x, af, &c__1, w, &info);
00360 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00361 infoc_1.ok);
00362 infoc_1.infot = 10;
00363 sorm2r_("L", "N", &c__2, &c__1, &c__0, a, &c__2, x, af, &c__1, w, &info);
00364 chkxer_("SORM2R", &infoc_1.infot, &infoc_1.nout, &infoc_1.lerr, &
00365 infoc_1.ok);
00366
00367
00368
00369 alaesm_(path, &infoc_1.ok, &infoc_1.nout);
00370
00371 return 0;
00372
00373
00374
00375 }