comparison ext/clapack/src/ilaenv.c @ 203:9ddc8982ad2d clapack-included

This file is very problematic in CLAPACK 3.2, with string handling memory problems all over the place; replace with older version from 3.1.1.1
author Chris Cannam
date Fri, 30 Sep 2016 16:22:56 +0100
parents 45330e0d2819
children
comparison
equal deleted inserted replaced
202:45330e0d2819 203:9ddc8982ad2d
1 /* ilaenv.f -- translated by f2c (version 20061008).
2 You must link the resulting object file with libf2c:
3 on Microsoft Windows system, link with libf2c.lib;
4 on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5 or, if you install libf2c.a in a standard place, with -lf2c -lm
6 -- in that order, at the end of the command line, as in
7 cc *.o -lf2c -lm
8 Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9
10 http://www.netlib.org/f2c/libf2c.zip
11 */
12
13 #include "f2c.h" 1 #include "f2c.h"
14 #include "blaswrap.h"
15 #include "string.h" 2 #include "string.h"
16 3
17 /* Table of constant values */ 4 /* Table of constant values */
18 5
19 static integer c__1 = 1; 6 static integer c__0 = 0;
20 static real c_b163 = 0.f; 7 static real c_b163 = 0.f;
21 static real c_b164 = 1.f; 8 static real c_b164 = 1.f;
22 static integer c__0 = 0; 9 static integer c__1 = 1;
23 10
24 integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1, 11 integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1,
25 integer *n2, integer *n3, integer *n4) 12 integer *n2, integer *n3, integer *n4)
26 { 13 {
27 /* System generated locals */ 14 /* System generated locals */
30 /* Builtin functions */ 17 /* Builtin functions */
31 /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen); 18 /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);
32 integer s_cmp(char *, char *, ftnlen, ftnlen); 19 integer s_cmp(char *, char *, ftnlen, ftnlen);
33 20
34 /* Local variables */ 21 /* Local variables */
35 integer i__; 22 static integer i__;
36 char c1[1], c2[1], c3[1], c4[1]; 23 static char c1[1], c2[2], c3[3], c4[2];
37 integer ic, nb, iz, nx; 24 static integer ic, nb, iz, nx;
38 logical cname; 25 static logical cname;
39 integer nbmin; 26 static integer nbmin;
40 logical sname; 27 static logical sname;
41 extern integer ieeeck_(integer *, real *, real *); 28 extern integer ieeeck_(integer *, real *, real *);
42 char subnam[6]; 29 static char subnam[6];
43 extern integer iparmq_(integer *, char *, char *, integer *, integer *, 30 extern integer iparmq_(integer *, char *, char *, integer *, integer *,
44 integer *, integer *); 31 integer *, integer *);
45 32
46 ftnlen name_len, opts_len; 33 ftnlen name_len, opts_len;
47 34
48 name_len = strlen (name__); 35 name_len = strlen (name__);
49 opts_len = strlen (opts); 36 opts_len = strlen (opts);
50 37
51 /* -- LAPACK auxiliary routine (version 3.2) -- */ 38
39 /* -- LAPACK auxiliary routine (version 3.1.1) -- */
52 /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ 40 /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
53 /* January 2007 */ 41 /* January 2007 */
54 42
55 /* .. Scalar Arguments .. */ 43 /* .. Scalar Arguments .. */
56 /* .. */ 44 /* .. */
240 sname = *(unsigned char *)c1 == 'S' || *(unsigned char *)c1 == 'D'; 228 sname = *(unsigned char *)c1 == 'S' || *(unsigned char *)c1 == 'D';
241 cname = *(unsigned char *)c1 == 'C' || *(unsigned char *)c1 == 'Z'; 229 cname = *(unsigned char *)c1 == 'C' || *(unsigned char *)c1 == 'Z';
242 if (! (cname || sname)) { 230 if (! (cname || sname)) {
243 return ret_val; 231 return ret_val;
244 } 232 }
245 s_copy(c2, subnam + 1, (ftnlen)1, (ftnlen)2); 233 s_copy(c2, subnam + 1, (ftnlen)2, (ftnlen)2);
246 s_copy(c3, subnam + 3, (ftnlen)1, (ftnlen)3); 234 s_copy(c3, subnam + 3, (ftnlen)3, (ftnlen)3);
247 s_copy(c4, c3 + 1, (ftnlen)1, (ftnlen)2); 235 s_copy(c4, c3 + 1, (ftnlen)2, (ftnlen)2);
248 236
249 switch (*ispec) { 237 switch (*ispec) {
250 case 1: goto L50; 238 case 1: goto L50;
251 case 2: goto L60; 239 case 2: goto L60;
252 case 3: goto L70; 240 case 3: goto L70;
260 /* real and complex. We assume that NB will take the same value in */ 248 /* real and complex. We assume that NB will take the same value in */
261 /* single or double precision. */ 249 /* single or double precision. */
262 250
263 nb = 1; 251 nb = 1;
264 252
265 if (s_cmp(c2, "GE", (ftnlen)1, (ftnlen)2) == 0) { 253 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
266 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 254 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
267 if (sname) { 255 if (sname) {
268 nb = 64; 256 nb = 64;
269 } else { 257 } else {
270 nb = 64; 258 nb = 64;
271 } 259 }
272 } else if (s_cmp(c3, "QRF", (ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, 260 } else if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3,
273 "RQF", (ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen) 261 "RQF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)
274 1, (ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)1, (ftnlen)3) 262 3, (ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3)
275 == 0) { 263 == 0) {
276 if (sname) { 264 if (sname) {
277 nb = 32; 265 nb = 32;
278 } else { 266 } else {
279 nb = 32; 267 nb = 32;
280 } 268 }
281 } else if (s_cmp(c3, "HRD", (ftnlen)1, (ftnlen)3) == 0) { 269 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
282 if (sname) { 270 if (sname) {
283 nb = 32; 271 nb = 32;
284 } else { 272 } else {
285 nb = 32; 273 nb = 32;
286 } 274 }
287 } else if (s_cmp(c3, "BRD", (ftnlen)1, (ftnlen)3) == 0) { 275 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
288 if (sname) { 276 if (sname) {
289 nb = 32; 277 nb = 32;
290 } else { 278 } else {
291 nb = 32; 279 nb = 32;
292 } 280 }
293 } else if (s_cmp(c3, "TRI", (ftnlen)1, (ftnlen)3) == 0) { 281 } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
294 if (sname) { 282 if (sname) {
295 nb = 64; 283 nb = 64;
296 } else { 284 } else {
297 nb = 64; 285 nb = 64;
298 } 286 }
299 } 287 }
300 } else if (s_cmp(c2, "PO", (ftnlen)1, (ftnlen)2) == 0) { 288 } else if (s_cmp(c2, "PO", (ftnlen)2, (ftnlen)2) == 0) {
301 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 289 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
302 if (sname) { 290 if (sname) {
303 nb = 64; 291 nb = 64;
304 } else { 292 } else {
305 nb = 64; 293 nb = 64;
306 } 294 }
307 } 295 }
308 } else if (s_cmp(c2, "SY", (ftnlen)1, (ftnlen)2) == 0) { 296 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
309 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 297 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
310 if (sname) { 298 if (sname) {
311 nb = 64; 299 nb = 64;
312 } else { 300 } else {
313 nb = 64; 301 nb = 64;
314 } 302 }
315 } else if (sname && s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 303 } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
316 nb = 32; 304 nb = 32;
317 } else if (sname && s_cmp(c3, "GST", (ftnlen)1, (ftnlen)3) == 0) { 305 } else if (sname && s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) {
318 nb = 64; 306 nb = 64;
319 } 307 }
320 } else if (cname && s_cmp(c2, "HE", (ftnlen)1, (ftnlen)2) == 0) { 308 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
321 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 309 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
322 nb = 64; 310 nb = 64;
323 } else if (s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 311 } else if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
324 nb = 32; 312 nb = 32;
325 } else if (s_cmp(c3, "GST", (ftnlen)1, (ftnlen)3) == 0) { 313 } else if (s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) {
326 nb = 64; 314 nb = 64;
327 } 315 }
328 } else if (sname && s_cmp(c2, "OR", (ftnlen)1, (ftnlen)2) == 0) { 316 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
329 if (*(unsigned char *)c3 == 'G') { 317 if (*(unsigned char *)c3 == 'G') {
330 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 318 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
331 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 319 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
332 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 320 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
333 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 321 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
334 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 322 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
335 ftnlen)1, (ftnlen)2) == 0) { 323 ftnlen)2, (ftnlen)2) == 0) {
336 nb = 32; 324 nb = 32;
337 } 325 }
338 } else if (*(unsigned char *)c3 == 'M') { 326 } else if (*(unsigned char *)c3 == 'M') {
339 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 327 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
340 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 328 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
341 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 329 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
342 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 330 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
343 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 331 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
344 ftnlen)1, (ftnlen)2) == 0) { 332 ftnlen)2, (ftnlen)2) == 0) {
345 nb = 32; 333 nb = 32;
346 } 334 }
347 } 335 }
348 } else if (cname && s_cmp(c2, "UN", (ftnlen)1, (ftnlen)2) == 0) { 336 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
349 if (*(unsigned char *)c3 == 'G') { 337 if (*(unsigned char *)c3 == 'G') {
350 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 338 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
351 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 339 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
352 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 340 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
353 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 341 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
354 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 342 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
355 ftnlen)1, (ftnlen)2) == 0) { 343 ftnlen)2, (ftnlen)2) == 0) {
356 nb = 32; 344 nb = 32;
357 } 345 }
358 } else if (*(unsigned char *)c3 == 'M') { 346 } else if (*(unsigned char *)c3 == 'M') {
359 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 347 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
360 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 348 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
361 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 349 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
362 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 350 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
363 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 351 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
364 ftnlen)1, (ftnlen)2) == 0) { 352 ftnlen)2, (ftnlen)2) == 0) {
365 nb = 32; 353 nb = 32;
366 } 354 }
367 } 355 }
368 } else if (s_cmp(c2, "GB", (ftnlen)1, (ftnlen)2) == 0) { 356 } else if (s_cmp(c2, "GB", (ftnlen)2, (ftnlen)2) == 0) {
369 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 357 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
370 if (sname) { 358 if (sname) {
371 if (*n4 <= 64) { 359 if (*n4 <= 64) {
372 nb = 1; 360 nb = 1;
373 } else { 361 } else {
374 nb = 32; 362 nb = 32;
379 } else { 367 } else {
380 nb = 32; 368 nb = 32;
381 } 369 }
382 } 370 }
383 } 371 }
384 } else if (s_cmp(c2, "PB", (ftnlen)1, (ftnlen)2) == 0) { 372 } else if (s_cmp(c2, "PB", (ftnlen)2, (ftnlen)2) == 0) {
385 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 373 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
386 if (sname) { 374 if (sname) {
387 if (*n2 <= 64) { 375 if (*n2 <= 64) {
388 nb = 1; 376 nb = 1;
389 } else { 377 } else {
390 nb = 32; 378 nb = 32;
395 } else { 383 } else {
396 nb = 32; 384 nb = 32;
397 } 385 }
398 } 386 }
399 } 387 }
400 } else if (s_cmp(c2, "TR", (ftnlen)1, (ftnlen)2) == 0) { 388 } else if (s_cmp(c2, "TR", (ftnlen)2, (ftnlen)2) == 0) {
401 if (s_cmp(c3, "TRI", (ftnlen)1, (ftnlen)3) == 0) { 389 if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
402 if (sname) { 390 if (sname) {
403 nb = 64; 391 nb = 64;
404 } else { 392 } else {
405 nb = 64; 393 nb = 64;
406 } 394 }
407 } 395 }
408 } else if (s_cmp(c2, "LA", (ftnlen)1, (ftnlen)2) == 0) { 396 } else if (s_cmp(c2, "LA", (ftnlen)2, (ftnlen)2) == 0) {
409 if (s_cmp(c3, "UUM", (ftnlen)1, (ftnlen)3) == 0) { 397 if (s_cmp(c3, "UUM", (ftnlen)3, (ftnlen)3) == 0) {
410 if (sname) { 398 if (sname) {
411 nb = 64; 399 nb = 64;
412 } else { 400 } else {
413 nb = 64; 401 nb = 64;
414 } 402 }
415 } 403 }
416 } else if (sname && s_cmp(c2, "ST", (ftnlen)1, (ftnlen)2) == 0) { 404 } else if (sname && s_cmp(c2, "ST", (ftnlen)2, (ftnlen)2) == 0) {
417 if (s_cmp(c3, "EBZ", (ftnlen)1, (ftnlen)3) == 0) { 405 if (s_cmp(c3, "EBZ", (ftnlen)3, (ftnlen)3) == 0) {
418 nb = 1; 406 nb = 1;
419 } 407 }
420 } 408 }
421 ret_val = nb; 409 ret_val = nb;
422 return ret_val; 410 return ret_val;
424 L60: 412 L60:
425 413
426 /* ISPEC = 2: minimum block size */ 414 /* ISPEC = 2: minimum block size */
427 415
428 nbmin = 2; 416 nbmin = 2;
429 if (s_cmp(c2, "GE", (ftnlen)1, (ftnlen)2) == 0) { 417 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
430 if (s_cmp(c3, "QRF", (ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, "RQF", ( 418 if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (
431 ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)1, ( 419 ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, (
432 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)1, (ftnlen)3) == 0) 420 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0)
433 { 421 {
434 if (sname) { 422 if (sname) {
435 nbmin = 2; 423 nbmin = 2;
436 } else { 424 } else {
437 nbmin = 2; 425 nbmin = 2;
438 } 426 }
439 } else if (s_cmp(c3, "HRD", (ftnlen)1, (ftnlen)3) == 0) { 427 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
440 if (sname) { 428 if (sname) {
441 nbmin = 2; 429 nbmin = 2;
442 } else { 430 } else {
443 nbmin = 2; 431 nbmin = 2;
444 } 432 }
445 } else if (s_cmp(c3, "BRD", (ftnlen)1, (ftnlen)3) == 0) { 433 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
446 if (sname) { 434 if (sname) {
447 nbmin = 2; 435 nbmin = 2;
448 } else { 436 } else {
449 nbmin = 2; 437 nbmin = 2;
450 } 438 }
451 } else if (s_cmp(c3, "TRI", (ftnlen)1, (ftnlen)3) == 0) { 439 } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
452 if (sname) { 440 if (sname) {
453 nbmin = 2; 441 nbmin = 2;
454 } else { 442 } else {
455 nbmin = 2; 443 nbmin = 2;
456 } 444 }
457 } 445 }
458 } else if (s_cmp(c2, "SY", (ftnlen)1, (ftnlen)2) == 0) { 446 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
459 if (s_cmp(c3, "TRF", (ftnlen)1, (ftnlen)3) == 0) { 447 if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
460 if (sname) { 448 if (sname) {
461 nbmin = 8; 449 nbmin = 8;
462 } else { 450 } else {
463 nbmin = 8; 451 nbmin = 8;
464 } 452 }
465 } else if (sname && s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 453 } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
466 nbmin = 2; 454 nbmin = 2;
467 } 455 }
468 } else if (cname && s_cmp(c2, "HE", (ftnlen)1, (ftnlen)2) == 0) { 456 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
469 if (s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 457 if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
470 nbmin = 2; 458 nbmin = 2;
471 } 459 }
472 } else if (sname && s_cmp(c2, "OR", (ftnlen)1, (ftnlen)2) == 0) { 460 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
473 if (*(unsigned char *)c3 == 'G') { 461 if (*(unsigned char *)c3 == 'G') {
474 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 462 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
475 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 463 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
476 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 464 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
477 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 465 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
478 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 466 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
479 ftnlen)1, (ftnlen)2) == 0) { 467 ftnlen)2, (ftnlen)2) == 0) {
480 nbmin = 2; 468 nbmin = 2;
481 } 469 }
482 } else if (*(unsigned char *)c3 == 'M') { 470 } else if (*(unsigned char *)c3 == 'M') {
483 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 471 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
484 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 472 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
485 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 473 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
486 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 474 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
487 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 475 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
488 ftnlen)1, (ftnlen)2) == 0) { 476 ftnlen)2, (ftnlen)2) == 0) {
489 nbmin = 2; 477 nbmin = 2;
490 } 478 }
491 } 479 }
492 } else if (cname && s_cmp(c2, "UN", (ftnlen)1, (ftnlen)2) == 0) { 480 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
493 if (*(unsigned char *)c3 == 'G') { 481 if (*(unsigned char *)c3 == 'G') {
494 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 482 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
495 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 483 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
496 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 484 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
497 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 485 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
498 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 486 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
499 ftnlen)1, (ftnlen)2) == 0) { 487 ftnlen)2, (ftnlen)2) == 0) {
500 nbmin = 2; 488 nbmin = 2;
501 } 489 }
502 } else if (*(unsigned char *)c3 == 'M') { 490 } else if (*(unsigned char *)c3 == 'M') {
503 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 491 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
504 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 492 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
505 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 493 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
506 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 494 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
507 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 495 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
508 ftnlen)1, (ftnlen)2) == 0) { 496 ftnlen)2, (ftnlen)2) == 0) {
509 nbmin = 2; 497 nbmin = 2;
510 } 498 }
511 } 499 }
512 } 500 }
513 ret_val = nbmin; 501 ret_val = nbmin;
516 L70: 504 L70:
517 505
518 /* ISPEC = 3: crossover point */ 506 /* ISPEC = 3: crossover point */
519 507
520 nx = 0; 508 nx = 0;
521 if (s_cmp(c2, "GE", (ftnlen)1, (ftnlen)2) == 0) { 509 if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
522 if (s_cmp(c3, "QRF", (ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, "RQF", ( 510 if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (
523 ftnlen)1, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)1, ( 511 ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, (
524 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)1, (ftnlen)3) == 0) 512 ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0)
525 { 513 {
526 if (sname) { 514 if (sname) {
527 nx = 128; 515 nx = 128;
528 } else { 516 } else {
529 nx = 128; 517 nx = 128;
530 } 518 }
531 } else if (s_cmp(c3, "HRD", (ftnlen)1, (ftnlen)3) == 0) { 519 } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
532 if (sname) { 520 if (sname) {
533 nx = 128; 521 nx = 128;
534 } else { 522 } else {
535 nx = 128; 523 nx = 128;
536 } 524 }
537 } else if (s_cmp(c3, "BRD", (ftnlen)1, (ftnlen)3) == 0) { 525 } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
538 if (sname) { 526 if (sname) {
539 nx = 128; 527 nx = 128;
540 } else { 528 } else {
541 nx = 128; 529 nx = 128;
542 } 530 }
543 } 531 }
544 } else if (s_cmp(c2, "SY", (ftnlen)1, (ftnlen)2) == 0) { 532 } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
545 if (sname && s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 533 if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
546 nx = 32; 534 nx = 32;
547 } 535 }
548 } else if (cname && s_cmp(c2, "HE", (ftnlen)1, (ftnlen)2) == 0) { 536 } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
549 if (s_cmp(c3, "TRD", (ftnlen)1, (ftnlen)3) == 0) { 537 if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
550 nx = 32; 538 nx = 32;
551 } 539 }
552 } else if (sname && s_cmp(c2, "OR", (ftnlen)1, (ftnlen)2) == 0) { 540 } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
553 if (*(unsigned char *)c3 == 'G') { 541 if (*(unsigned char *)c3 == 'G') {
554 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 542 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
555 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 543 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
556 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 544 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
557 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 545 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
558 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 546 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
559 ftnlen)1, (ftnlen)2) == 0) { 547 ftnlen)2, (ftnlen)2) == 0) {
560 nx = 128; 548 nx = 128;
561 } 549 }
562 } 550 }
563 } else if (cname && s_cmp(c2, "UN", (ftnlen)1, (ftnlen)2) == 0) { 551 } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
564 if (*(unsigned char *)c3 == 'G') { 552 if (*(unsigned char *)c3 == 'G') {
565 if (s_cmp(c4, "QR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "RQ", 553 if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
566 (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)1, ( 554 (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
567 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)1, (ftnlen)2) == 555 ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
568 0 || s_cmp(c4, "HR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp( 556 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
569 c4, "TR", (ftnlen)1, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( 557 c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
570 ftnlen)1, (ftnlen)2) == 0) { 558 ftnlen)2, (ftnlen)2) == 0) {
571 nx = 128; 559 nx = 128;
572 } 560 }
573 } 561 }
574 } 562 }
575 ret_val = nx; 563 ret_val = nx;
620 return ret_val; 608 return ret_val;
621 609
622 L140: 610 L140:
623 611
624 /* ISPEC = 10: ieee NaN arithmetic can be trusted not to trap */ 612 /* ISPEC = 10: ieee NaN arithmetic can be trusted not to trap */
613
614 /* ILAENV = 0 */
615 ret_val = 1;
616 if (ret_val == 1) {
617 ret_val = ieeeck_(&c__0, &c_b163, &c_b164);
618 }
619 return ret_val;
620
621 L150:
622
623 /* ISPEC = 11: infinity arithmetic can be trusted not to trap */
625 624
626 /* ILAENV = 0 */ 625 /* ILAENV = 0 */
627 ret_val = 1; 626 ret_val = 1;
628 if (ret_val == 1) { 627 if (ret_val == 1) {
629 ret_val = ieeeck_(&c__1, &c_b163, &c_b164); 628 ret_val = ieeeck_(&c__1, &c_b163, &c_b164);
630 } 629 }
631 return ret_val; 630 return ret_val;
632 631
633 L150:
634
635 /* ISPEC = 11: infinity arithmetic can be trusted not to trap */
636
637 /* ILAENV = 0 */
638 ret_val = 1;
639 if (ret_val == 1) {
640 ret_val = ieeeck_(&c__0, &c_b163, &c_b164);
641 }
642 return ret_val;
643
644 L160: 632 L160:
645 633
646 /* 12 <= ISPEC <= 16: xHSEQR or one of its subroutines. */ 634 /* 12 <= ISPEC <= 16: xHSEQR or one of its subroutines. */
647 635
648 ret_val = iparmq_(ispec, name__, opts, n1, n2, n3, n4) 636 ret_val = iparmq_(ispec, name__, opts, n1, n2, n3, n4)