00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "f2c.h"
00014 #include "blaswrap.h"
00015 #include "string.h"
00016
00017
00018
00019 static integer c__9 = 9;
00020 static integer c__1 = 1;
00021 static integer c__10 = 10;
00022 static integer c__2 = 2;
00023 static integer c__3 = 3;
00024 static integer c__4 = 4;
00025 static integer c__11 = 11;
00026 static integer c__0 = 0;
00027 static real c_b227 = 0.f;
00028 static real c_b228 = 1.f;
00029
00030 int MAIN__(void)
00031 {
00032
00033 integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen),
00034 e_wsle(void);
00035
00036
00037 integer ieeeok;
00038 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
00039 integer *, integer *);
00040
00041
00042 static cilist io___1 = { 0, 6, 0, 0, 0 };
00043 static cilist io___2 = { 0, 6, 0, 0, 0 };
00044 static cilist io___3 = { 0, 6, 0, 0, 0 };
00045 static cilist io___5 = { 0, 6, 0, 0, 0 };
00046 static cilist io___6 = { 0, 6, 0, 0, 0 };
00047 static cilist io___7 = { 0, 6, 0, 0, 0 };
00048 static cilist io___8 = { 0, 6, 0, 0, 0 };
00049 static cilist io___9 = { 0, 6, 0, 0, 0 };
00050 static cilist io___10 = { 0, 6, 0, 0, 0 };
00051 static cilist io___11 = { 0, 6, 0, 0, 0 };
00052 static cilist io___12 = { 0, 6, 0, 0, 0 };
00053 static cilist io___13 = { 0, 6, 0, 0, 0 };
00054 static cilist io___14 = { 0, 6, 0, 0, 0 };
00055 static cilist io___15 = { 0, 6, 0, 0, 0 };
00056 static cilist io___16 = { 0, 6, 0, 0, 0 };
00057 static cilist io___17 = { 0, 6, 0, 0, 0 };
00058 static cilist io___18 = { 0, 6, 0, 0, 0 };
00059 static cilist io___19 = { 0, 6, 0, 0, 0 };
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 s_wsle(&io___1);
00074 do_lio(&c__9, &c__1, "We are about to check whether infinity arithmetic",
00075 (ftnlen)49);
00076 e_wsle();
00077 s_wsle(&io___2);
00078 do_lio(&c__9, &c__1, "can be trusted. If this test hangs, set", (ftnlen)
00079 40);
00080 e_wsle();
00081 s_wsle(&io___3);
00082 do_lio(&c__9, &c__1, "ILAENV = 0 for ISPEC = 10 in LAPACK/SRC/ilaenv.f", (
00083 ftnlen)48);
00084 e_wsle();
00085
00086 ieeeok = ilaenv_(&c__10, "ILAENV", "N", &c__1, &c__2, &c__3, &c__4);
00087 s_wsle(&io___5);
00088 e_wsle();
00089
00090 if (ieeeok == 0) {
00091 s_wsle(&io___6);
00092 do_lio(&c__9, &c__1, "Infinity arithmetic did not perform per the ie"
00093 "ee spec", (ftnlen)53);
00094 e_wsle();
00095 } else {
00096 s_wsle(&io___7);
00097 do_lio(&c__9, &c__1, "Infinity arithmetic performed as per the ieee "
00098 "spec.", (ftnlen)51);
00099 e_wsle();
00100 s_wsle(&io___8);
00101 do_lio(&c__9, &c__1, "However, this is not an exhaustive test and do"
00102 "es not", (ftnlen)52);
00103 e_wsle();
00104 s_wsle(&io___9);
00105 do_lio(&c__9, &c__1, "guarantee that infinity arithmetic meets the", (
00106 ftnlen)44);
00107 do_lio(&c__9, &c__1, " ieee spec.", (ftnlen)11);
00108 e_wsle();
00109 }
00110
00111 s_wsle(&io___10);
00112 e_wsle();
00113 s_wsle(&io___11);
00114 do_lio(&c__9, &c__1, "We are about to check whether NaN arithmetic", (
00115 ftnlen)44);
00116 e_wsle();
00117 s_wsle(&io___12);
00118 do_lio(&c__9, &c__1, "can be trusted. If this test hangs, set", (ftnlen)
00119 40);
00120 e_wsle();
00121 s_wsle(&io___13);
00122 do_lio(&c__9, &c__1, "ILAENV = 0 for ISPEC = 11 in LAPACK/SRC/ilaenv.f", (
00123 ftnlen)48);
00124 e_wsle();
00125 ieeeok = ilaenv_(&c__11, "ILAENV", "N", &c__1, &c__2, &c__3, &c__4);
00126
00127 s_wsle(&io___14);
00128 e_wsle();
00129 if (ieeeok == 0) {
00130 s_wsle(&io___15);
00131 do_lio(&c__9, &c__1, "NaN arithmetic did not perform per the ieee sp"
00132 "ec", (ftnlen)48);
00133 e_wsle();
00134 } else {
00135 s_wsle(&io___16);
00136 do_lio(&c__9, &c__1, "NaN arithmetic performed as per the ieee", (
00137 ftnlen)40);
00138 do_lio(&c__9, &c__1, " spec.", (ftnlen)6);
00139 e_wsle();
00140 s_wsle(&io___17);
00141 do_lio(&c__9, &c__1, "However, this is not an exhaustive test and do"
00142 "es not", (ftnlen)52);
00143 e_wsle();
00144 s_wsle(&io___18);
00145 do_lio(&c__9, &c__1, "guarantee that NaN arithmetic meets the", (
00146 ftnlen)39);
00147 do_lio(&c__9, &c__1, " ieee spec.", (ftnlen)11);
00148 e_wsle();
00149 }
00150 s_wsle(&io___19);
00151 e_wsle();
00152
00153 return 0;
00154 }
00155
00156 integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1,
00157 integer *n2, integer *n3, integer *n4)
00158 {
00159
00160 integer ret_val;
00161
00162
00163 int s_copy(char *, char *, ftnlen, ftnlen);
00164 integer s_cmp(char *, char *, ftnlen, ftnlen);
00165
00166
00167 integer i__;
00168 char c1[1], c2[2], c3[3], c4[2];
00169 integer ic, nb, iz, nx;
00170 logical cname, sname;
00171 integer nbmin;
00172 extern integer ieeeck_(integer *, real *, real *);
00173 char subnam[6];
00174 ftnlen name_len;
00175 name_len = strlen (name__);
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283 switch (*ispec) {
00284 case 1: goto L100;
00285 case 2: goto L100;
00286 case 3: goto L100;
00287 case 4: goto L400;
00288 case 5: goto L500;
00289 case 6: goto L600;
00290 case 7: goto L700;
00291 case 8: goto L800;
00292 case 9: goto L900;
00293 case 10: goto L1000;
00294 case 11: goto L1100;
00295 }
00296
00297
00298
00299 ret_val = -1;
00300 return ret_val;
00301
00302 L100:
00303
00304
00305
00306 ret_val = 1;
00307 s_copy(subnam, name__, (ftnlen)6, name_len);
00308 ic = *(unsigned char *)subnam;
00309 iz = 'Z';
00310 if (iz == 90 || iz == 122) {
00311
00312
00313
00314 if (ic >= 97 && ic <= 122) {
00315 *(unsigned char *)subnam = (char) (ic - 32);
00316 for (i__ = 2; i__ <= 6; ++i__) {
00317 ic = *(unsigned char *)&subnam[i__ - 1];
00318 if (ic >= 97 && ic <= 122) {
00319 *(unsigned char *)&subnam[i__ - 1] = (char) (ic - 32);
00320 }
00321
00322 }
00323 }
00324
00325 } else if (iz == 233 || iz == 169) {
00326
00327
00328
00329 if (ic >= 129 && ic <= 137 || ic >= 145 && ic <= 153 || ic >= 162 &&
00330 ic <= 169) {
00331 *(unsigned char *)subnam = (char) (ic + 64);
00332 for (i__ = 2; i__ <= 6; ++i__) {
00333 ic = *(unsigned char *)&subnam[i__ - 1];
00334 if (ic >= 129 && ic <= 137 || ic >= 145 && ic <= 153 || ic >=
00335 162 && ic <= 169) {
00336 *(unsigned char *)&subnam[i__ - 1] = (char) (ic + 64);
00337 }
00338
00339 }
00340 }
00341
00342 } else if (iz == 218 || iz == 250) {
00343
00344
00345
00346 if (ic >= 225 && ic <= 250) {
00347 *(unsigned char *)subnam = (char) (ic - 32);
00348 for (i__ = 2; i__ <= 6; ++i__) {
00349 ic = *(unsigned char *)&subnam[i__ - 1];
00350 if (ic >= 225 && ic <= 250) {
00351 *(unsigned char *)&subnam[i__ - 1] = (char) (ic - 32);
00352 }
00353
00354 }
00355 }
00356 }
00357
00358 *(unsigned char *)c1 = *(unsigned char *)subnam;
00359 sname = *(unsigned char *)c1 == 'S' || *(unsigned char *)c1 == 'D';
00360 cname = *(unsigned char *)c1 == 'C' || *(unsigned char *)c1 == 'Z';
00361 if (! (cname || sname)) {
00362 return ret_val;
00363 }
00364 s_copy(c2, subnam + 1, (ftnlen)2, (ftnlen)2);
00365 s_copy(c3, subnam + 3, (ftnlen)3, (ftnlen)3);
00366 s_copy(c4, c3 + 1, (ftnlen)2, (ftnlen)2);
00367
00368 switch (*ispec) {
00369 case 1: goto L110;
00370 case 2: goto L200;
00371 case 3: goto L300;
00372 }
00373
00374 L110:
00375
00376
00377
00378
00379
00380
00381
00382 nb = 1;
00383
00384 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
00385 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00386 if (sname) {
00387 nb = 64;
00388 } else {
00389 nb = 64;
00390 }
00391 } else if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3,
00392 "RQF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)
00393 3, (ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3)
00394 == 0) {
00395 if (sname) {
00396 nb = 32;
00397 } else {
00398 nb = 32;
00399 }
00400 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
00401 if (sname) {
00402 nb = 32;
00403 } else {
00404 nb = 32;
00405 }
00406 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
00407 if (sname) {
00408 nb = 32;
00409 } else {
00410 nb = 32;
00411 }
00412 } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
00413 if (sname) {
00414 nb = 64;
00415 } else {
00416 nb = 64;
00417 }
00418 }
00419 } else if (s_cmp(c2, "PO", (ftnlen)2, (ftnlen)2) == 0) {
00420 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00421 if (sname) {
00422 nb = 64;
00423 } else {
00424 nb = 64;
00425 }
00426 }
00427 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
00428 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00429 if (sname) {
00430 nb = 64;
00431 } else {
00432 nb = 64;
00433 }
00434 } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00435 nb = 32;
00436 } else if (sname && s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) {
00437 nb = 64;
00438 }
00439 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
00440 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00441 nb = 64;
00442 } else if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00443 nb = 32;
00444 } else if (s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) {
00445 nb = 64;
00446 }
00447 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
00448 if (*(unsigned char *)c3 == 'G') {
00449 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00450 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00451 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00452 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00453 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00454 ftnlen)2, (ftnlen)2) == 0) {
00455 nb = 32;
00456 }
00457 } else if (*(unsigned char *)c3 == 'M') {
00458 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00459 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00460 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00461 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00462 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00463 ftnlen)2, (ftnlen)2) == 0) {
00464 nb = 32;
00465 }
00466 }
00467 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
00468 if (*(unsigned char *)c3 == 'G') {
00469 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00470 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00471 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00472 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00473 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00474 ftnlen)2, (ftnlen)2) == 0) {
00475 nb = 32;
00476 }
00477 } else if (*(unsigned char *)c3 == 'M') {
00478 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00479 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00480 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00481 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00482 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00483 ftnlen)2, (ftnlen)2) == 0) {
00484 nb = 32;
00485 }
00486 }
00487 } else if (s_cmp(c2, "GB", (ftnlen)2, (ftnlen)2) == 0) {
00488 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00489 if (sname) {
00490 if (*n4 <= 64) {
00491 nb = 1;
00492 } else {
00493 nb = 32;
00494 }
00495 } else {
00496 if (*n4 <= 64) {
00497 nb = 1;
00498 } else {
00499 nb = 32;
00500 }
00501 }
00502 }
00503 } else if (s_cmp(c2, "PB", (ftnlen)2, (ftnlen)2) == 0) {
00504 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00505 if (sname) {
00506 if (*n2 <= 64) {
00507 nb = 1;
00508 } else {
00509 nb = 32;
00510 }
00511 } else {
00512 if (*n2 <= 64) {
00513 nb = 1;
00514 } else {
00515 nb = 32;
00516 }
00517 }
00518 }
00519 } else if (s_cmp(c2, "TR", (ftnlen)2, (ftnlen)2) == 0) {
00520 if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
00521 if (sname) {
00522 nb = 64;
00523 } else {
00524 nb = 64;
00525 }
00526 }
00527 } else if (s_cmp(c2, "LA", (ftnlen)2, (ftnlen)2) == 0) {
00528 if (s_cmp(c3, "UUM", (ftnlen)3, (ftnlen)3) == 0) {
00529 if (sname) {
00530 nb = 64;
00531 } else {
00532 nb = 64;
00533 }
00534 }
00535 } else if (sname && s_cmp(c2, "ST", (ftnlen)2, (ftnlen)2) == 0) {
00536 if (s_cmp(c3, "EBZ", (ftnlen)3, (ftnlen)3) == 0) {
00537 nb = 1;
00538 }
00539 }
00540 ret_val = nb;
00541 return ret_val;
00542
00543 L200:
00544
00545
00546
00547 nbmin = 2;
00548 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
00549 if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (
00550 ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, (
00551 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0)
00552 {
00553 if (sname) {
00554 nbmin = 2;
00555 } else {
00556 nbmin = 2;
00557 }
00558 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
00559 if (sname) {
00560 nbmin = 2;
00561 } else {
00562 nbmin = 2;
00563 }
00564 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
00565 if (sname) {
00566 nbmin = 2;
00567 } else {
00568 nbmin = 2;
00569 }
00570 } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
00571 if (sname) {
00572 nbmin = 2;
00573 } else {
00574 nbmin = 2;
00575 }
00576 }
00577 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
00578 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
00579 if (sname) {
00580 nbmin = 8;
00581 } else {
00582 nbmin = 8;
00583 }
00584 } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00585 nbmin = 2;
00586 }
00587 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
00588 if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00589 nbmin = 2;
00590 }
00591 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
00592 if (*(unsigned char *)c3 == 'G') {
00593 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00594 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00595 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00596 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00597 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00598 ftnlen)2, (ftnlen)2) == 0) {
00599 nbmin = 2;
00600 }
00601 } else if (*(unsigned char *)c3 == 'M') {
00602 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00603 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00604 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00605 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00606 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00607 ftnlen)2, (ftnlen)2) == 0) {
00608 nbmin = 2;
00609 }
00610 }
00611 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
00612 if (*(unsigned char *)c3 == 'G') {
00613 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00614 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00615 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00616 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00617 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00618 ftnlen)2, (ftnlen)2) == 0) {
00619 nbmin = 2;
00620 }
00621 } else if (*(unsigned char *)c3 == 'M') {
00622 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00623 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00624 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00625 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00626 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00627 ftnlen)2, (ftnlen)2) == 0) {
00628 nbmin = 2;
00629 }
00630 }
00631 }
00632 ret_val = nbmin;
00633 return ret_val;
00634
00635 L300:
00636
00637
00638
00639 nx = 0;
00640 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
00641 if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (
00642 ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, (
00643 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0)
00644 {
00645 if (sname) {
00646 nx = 128;
00647 } else {
00648 nx = 128;
00649 }
00650 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
00651 if (sname) {
00652 nx = 128;
00653 } else {
00654 nx = 128;
00655 }
00656 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
00657 if (sname) {
00658 nx = 128;
00659 } else {
00660 nx = 128;
00661 }
00662 }
00663 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
00664 if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00665 nx = 32;
00666 }
00667 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
00668 if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
00669 nx = 32;
00670 }
00671 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
00672 if (*(unsigned char *)c3 == 'G') {
00673 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00674 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00675 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00676 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00677 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00678 ftnlen)2, (ftnlen)2) == 0) {
00679 nx = 128;
00680 }
00681 }
00682 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
00683 if (*(unsigned char *)c3 == 'G') {
00684 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
00685 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
00686 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
00687 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
00688 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
00689 ftnlen)2, (ftnlen)2) == 0) {
00690 nx = 128;
00691 }
00692 }
00693 }
00694 ret_val = nx;
00695 return ret_val;
00696
00697 L400:
00698
00699
00700
00701 ret_val = 6;
00702 return ret_val;
00703
00704 L500:
00705
00706
00707
00708 ret_val = 2;
00709 return ret_val;
00710
00711 L600:
00712
00713
00714
00715 ret_val = (integer) ((real) min(*n1,*n2) * 1.6f);
00716 return ret_val;
00717
00718 L700:
00719
00720
00721
00722 ret_val = 1;
00723 return ret_val;
00724
00725 L800:
00726
00727
00728
00729 ret_val = 50;
00730 return ret_val;
00731
00732 L900:
00733
00734
00735
00736
00737
00738 ret_val = 25;
00739 return ret_val;
00740
00741 L1000:
00742
00743
00744
00745 ret_val = 1;
00746 if (ret_val == 1) {
00747 ret_val = ieeeck_(&c__0, &c_b227, &c_b228);
00748 }
00749 return ret_val;
00750
00751 L1100:
00752
00753
00754
00755 ret_val = 1;
00756 if (ret_val == 1) {
00757 ret_val = ieeeck_(&c__1, &c_b227, &c_b228);
00758 }
00759 return ret_val;
00760
00761
00762
00763 }
00764
00765 integer ieeeck_(integer *ispec, real *zero, real *one)
00766 {
00767
00768 integer ret_val;
00769
00770
00771 real nan1, nan2, nan3, nan4, nan5, nan6, neginf, posinf, negzro, newzro;
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813 ret_val = 1;
00814 posinf = *one / *zero;
00815 if (posinf <= *one) {
00816 ret_val = 0;
00817 return ret_val;
00818 }
00819 neginf = -(*one) / *zero;
00820 if (neginf >= *zero) {
00821 ret_val = 0;
00822 return ret_val;
00823 }
00824 negzro = *one / (neginf + *one);
00825 if (negzro != *zero) {
00826 ret_val = 0;
00827 return ret_val;
00828 }
00829 neginf = *one / negzro;
00830 if (neginf >= *zero) {
00831 ret_val = 0;
00832 return ret_val;
00833 }
00834 newzro = negzro + *zero;
00835 if (newzro != *zero) {
00836 ret_val = 0;
00837 return ret_val;
00838 }
00839 posinf = *one / newzro;
00840 if (posinf <= *one) {
00841 ret_val = 0;
00842 return ret_val;
00843 }
00844 neginf *= posinf;
00845 if (neginf >= *zero) {
00846 ret_val = 0;
00847 return ret_val;
00848 }
00849 posinf *= posinf;
00850 if (posinf <= *one) {
00851 ret_val = 0;
00852 return ret_val;
00853 }
00854
00855
00856
00857 if (*ispec == 0) {
00858 return ret_val;
00859 }
00860 nan1 = posinf + neginf;
00861 nan2 = posinf / neginf;
00862 nan3 = posinf / posinf;
00863 nan4 = posinf * *zero;
00864 nan5 = neginf * negzro;
00865 nan6 = nan5 * 0.f;
00866 if (nan1 == nan1) {
00867 ret_val = 0;
00868 return ret_val;
00869 }
00870 if (nan2 == nan2) {
00871 ret_val = 0;
00872 return ret_val;
00873 }
00874 if (nan3 == nan3) {
00875 ret_val = 0;
00876 return ret_val;
00877 }
00878 if (nan4 == nan4) {
00879 ret_val = 0;
00880 return ret_val;
00881 }
00882 if (nan5 == nan5) {
00883 ret_val = 0;
00884 return ret_val;
00885 }
00886 if (nan6 == nan6) {
00887 ret_val = 0;
00888 return ret_val;
00889 }
00890 return ret_val;
00891 }
00892
00893 int main_ () { MAIN__ (); return 0; }