10
10
#undef I
11
11
#endif
12
12
13
- #if defined(_WIN64 )
14
- typedef long long BLASLONG ;
15
- typedef unsigned long long BLASULONG ;
16
- #else
17
- typedef long BLASLONG ;
18
- typedef unsigned long BLASULONG ;
19
- #endif
20
-
21
- #ifdef LAPACK_ILP64
22
- typedef BLASLONG blasint ;
23
- #if defined(_WIN64 )
24
- #define blasabs (x ) llabs(x)
25
- #else
26
- #define blasabs (x ) labs(x)
27
- #endif
28
- #else
29
- typedef int blasint ;
30
- #define blasabs (x ) abs(x)
31
- #endif
13
+ #include "common.h"
32
14
33
15
typedef blasint integer ;
34
16
@@ -378,130 +360,6 @@ static integer smaxloc_(float *w, integer s, integer e, integer *n)
378
360
return mi - s + 1 ;
379
361
}
380
362
#endif
381
- static inline void cdotc_ (complex * z , integer * n_ , complex * x , integer * incx_ , complex * y , integer * incy_ ) {
382
- integer n = * n_ , incx = * incx_ , incy = * incy_ , i ;
383
- #ifdef _MSC_VER
384
- _Fcomplex zdotc = {0.0 , 0.0 };
385
- if (incx == 1 && incy == 1 ) {
386
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
387
- zdotc ._Val [0 ] += conjf (Cf (& x [i ]))._Val [0 ] * Cf (& y [i ])._Val [0 ];
388
- zdotc ._Val [1 ] += conjf (Cf (& x [i ]))._Val [1 ] * Cf (& y [i ])._Val [1 ];
389
- }
390
- } else {
391
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
392
- zdotc ._Val [0 ] += conjf (Cf (& x [i * incx ]))._Val [0 ] * Cf (& y [i * incy ])._Val [0 ];
393
- zdotc ._Val [1 ] += conjf (Cf (& x [i * incx ]))._Val [1 ] * Cf (& y [i * incy ])._Val [1 ];
394
- }
395
- }
396
- pCf (z ) = zdotc ;
397
- }
398
- #else
399
- _Complex float zdotc = 0.0 ;
400
- if (incx == 1 && incy == 1 ) {
401
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
402
- zdotc += conjf (Cf (& x [i ])) * Cf (& y [i ]);
403
- }
404
- } else {
405
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
406
- zdotc += conjf (Cf (& x [i * incx ])) * Cf (& y [i * incy ]);
407
- }
408
- }
409
- pCf (z ) = zdotc ;
410
- }
411
- #endif
412
- static inline void zdotc_ (doublecomplex * z , integer * n_ , doublecomplex * x , integer * incx_ , doublecomplex * y , integer * incy_ ) {
413
- integer n = * n_ , incx = * incx_ , incy = * incy_ , i ;
414
- #ifdef _MSC_VER
415
- _Dcomplex zdotc = {0.0 , 0.0 };
416
- if (incx == 1 && incy == 1 ) {
417
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
418
- zdotc ._Val [0 ] += conj (Cd (& x [i ]))._Val [0 ] * Cd (& y [i ])._Val [0 ];
419
- zdotc ._Val [1 ] += conj (Cd (& x [i ]))._Val [1 ] * Cd (& y [i ])._Val [1 ];
420
- }
421
- } else {
422
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
423
- zdotc ._Val [0 ] += conj (Cd (& x [i * incx ]))._Val [0 ] * Cd (& y [i * incy ])._Val [0 ];
424
- zdotc ._Val [1 ] += conj (Cd (& x [i * incx ]))._Val [1 ] * Cd (& y [i * incy ])._Val [1 ];
425
- }
426
- }
427
- pCd (z ) = zdotc ;
428
- }
429
- #else
430
- _Complex double zdotc = 0.0 ;
431
- if (incx == 1 && incy == 1 ) {
432
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
433
- zdotc += conj (Cd (& x [i ])) * Cd (& y [i ]);
434
- }
435
- } else {
436
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
437
- zdotc += conj (Cd (& x [i * incx ])) * Cd (& y [i * incy ]);
438
- }
439
- }
440
- pCd (z ) = zdotc ;
441
- }
442
- #endif
443
- static inline void cdotu_ (complex * z , integer * n_ , complex * x , integer * incx_ , complex * y , integer * incy_ ) {
444
- integer n = * n_ , incx = * incx_ , incy = * incy_ , i ;
445
- #ifdef _MSC_VER
446
- _Fcomplex zdotc = {0.0 , 0.0 };
447
- if (incx == 1 && incy == 1 ) {
448
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
449
- zdotc ._Val [0 ] += Cf (& x [i ])._Val [0 ] * Cf (& y [i ])._Val [0 ];
450
- zdotc ._Val [1 ] += Cf (& x [i ])._Val [1 ] * Cf (& y [i ])._Val [1 ];
451
- }
452
- } else {
453
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
454
- zdotc ._Val [0 ] += Cf (& x [i * incx ])._Val [0 ] * Cf (& y [i * incy ])._Val [0 ];
455
- zdotc ._Val [1 ] += Cf (& x [i * incx ])._Val [1 ] * Cf (& y [i * incy ])._Val [1 ];
456
- }
457
- }
458
- pCf (z ) = zdotc ;
459
- }
460
- #else
461
- _Complex float zdotc = 0.0 ;
462
- if (incx == 1 && incy == 1 ) {
463
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
464
- zdotc += Cf (& x [i ]) * Cf (& y [i ]);
465
- }
466
- } else {
467
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
468
- zdotc += Cf (& x [i * incx ]) * Cf (& y [i * incy ]);
469
- }
470
- }
471
- pCf (z ) = zdotc ;
472
- }
473
- #endif
474
- static inline void zdotu_ (doublecomplex * z , integer * n_ , doublecomplex * x , integer * incx_ , doublecomplex * y , integer * incy_ ) {
475
- integer n = * n_ , incx = * incx_ , incy = * incy_ , i ;
476
- #ifdef _MSC_VER
477
- _Dcomplex zdotc = {0.0 , 0.0 };
478
- if (incx == 1 && incy == 1 ) {
479
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
480
- zdotc ._Val [0 ] += Cd (& x [i ])._Val [0 ] * Cd (& y [i ])._Val [0 ];
481
- zdotc ._Val [1 ] += Cd (& x [i ])._Val [1 ] * Cd (& y [i ])._Val [1 ];
482
- }
483
- } else {
484
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
485
- zdotc ._Val [0 ] += Cd (& x [i * incx ])._Val [0 ] * Cd (& y [i * incy ])._Val [0 ];
486
- zdotc ._Val [1 ] += Cd (& x [i * incx ])._Val [1 ] * Cd (& y [i * incy ])._Val [1 ];
487
- }
488
- }
489
- pCd (z ) = zdotc ;
490
- }
491
- #else
492
- _Complex double zdotc = 0.0 ;
493
- if (incx == 1 && incy == 1 ) {
494
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
495
- zdotc += Cd (& x [i ]) * Cd (& y [i ]);
496
- }
497
- } else {
498
- for (i = 0 ;i < n ;i ++ ) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
499
- zdotc += Cd (& x [i * incx ]) * Cd (& y [i * incy ]);
500
- }
501
- }
502
- pCd (z ) = zdotc ;
503
- }
504
- #endif
505
363
/* -- translated by f2c (version 20000121).
506
364
You must link the resulting object file with the libraries:
507
365
-lf2c -lm (in that order)
@@ -673,7 +531,11 @@ static logical c_false = FALSE_;
673
531
fgets (line ,80 ,stdin );
674
532
sscanf (line ,"'%s'" ,snaps );
675
533
fgets (line ,80 ,stdin );
534
+ #ifdef USE64BITINT
535
+ sscanf (line ,"%ld" ,& ntra );
536
+ #else
676
537
sscanf (line ,"%d" ,& ntra );
538
+ #endif
677
539
trace = ntra >= 0 ;
678
540
if (trace ) {
679
541
/* o__1.oerr = 0;
@@ -713,15 +575,24 @@ static logical c_false = FALSE_;
713
575
714
576
/* Values of N */
715
577
fgets (line ,80 ,stdin );
578
+ #ifdef USE64BITINT
579
+ sscanf (line ,"%ld" ,& nidim );
580
+ #else
716
581
sscanf (line ,"%d" ,& nidim );
582
+ #endif
717
583
718
584
if (nidim < 1 || nidim > 9 ) {
719
585
fprintf (stderr ,"NUMBER OF VALUES OF N IS LESS THAN 1 OR GREATER THAN 9" );
720
586
goto L230 ;
721
587
}
722
588
fgets (line ,80 ,stdin );
589
+ #ifdef USE64BITINT
590
+ sscanf (line ,"%ld %ld %ld %ld %ld %ld %ld %ld %ld" ,& idim [0 ],& idim [1 ],& idim [2 ],
591
+ & idim [3 ],& idim [4 ],& idim [5 ],& idim [6 ],& idim [7 ],& idim [8 ]);
592
+ #else
723
593
sscanf (line ,"%d %d %d %d %d %d %d %d %d" ,& idim [0 ],& idim [1 ],& idim [2 ],
724
594
& idim [3 ],& idim [4 ],& idim [5 ],& idim [6 ],& idim [7 ],& idim [8 ]);
595
+ #endif
725
596
i__1 = nidim ;
726
597
for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
727
598
if (idim [i__ - 1 ] < 0 || idim [i__ - 1 ] > 65 ) {
@@ -732,14 +603,22 @@ static logical c_false = FALSE_;
732
603
}
733
604
/* Values of K */
734
605
fgets (line ,80 ,stdin );
606
+ #ifdef USE64BITINT
607
+ sscanf (line ,"%ld" ,& nkb );
608
+ #else
735
609
sscanf (line ,"%d" ,& nkb );
610
+ #endif
736
611
737
612
if (nkb < 1 || nkb > 7 ) {
738
613
fprintf (stderr ,"NUMBER OF VALUES OF K IS LESS THAN 1 OR GREATER THAN 7" );
739
614
goto L230 ;
740
615
}
741
616
fgets (line ,80 ,stdin );
617
+ #ifdef USE64BITINT
618
+ sscanf (line ,"%ld %ld %ld %ld %ld %ld %ld" ,& kb [0 ],& kb [1 ],& kb [2 ],& kb [3 ],& kb [4 ],& kb [5 ],& kb [6 ]);
619
+ #else
742
620
sscanf (line ,"%d %d %d %d %d %d %d" ,& kb [0 ],& kb [1 ],& kb [2 ],& kb [3 ],& kb [4 ],& kb [5 ],& kb [6 ]);
621
+ #endif
743
622
i__1 = nkb ;
744
623
for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
745
624
if (kb [i__ - 1 ] < 0 ) {
@@ -750,15 +629,23 @@ static logical c_false = FALSE_;
750
629
}
751
630
/* Values of INCX and INCY */
752
631
fgets (line ,80 ,stdin );
632
+ #ifdef USE64BITINT
633
+ sscanf (line ,"%ld" ,& ninc );
634
+ #else
753
635
sscanf (line ,"%d" ,& ninc );
636
+ #endif
754
637
755
638
if (ninc < 1 || ninc > 7 ) {
756
639
fprintf (stderr ,"NUMBER OF VALUES OF INCX AND INCY IS LESS THAN 1 OR GREATER THAN 7" );
757
640
goto L230 ;
758
641
}
759
642
760
643
fgets (line ,80 ,stdin );
644
+ #ifdef USE64BITINT
645
+ sscanf (line ,"%ld %ld %ld %ld %ld %ld %ld" ,& inc [0 ],& inc [1 ],& inc [2 ],& inc [3 ],& inc [4 ],& inc [5 ],& inc [6 ]);
646
+ #else
761
647
sscanf (line ,"%d %d %d %d %d %d %d" ,& inc [0 ],& inc [1 ],& inc [2 ],& inc [3 ],& inc [4 ],& inc [5 ],& inc [6 ]);
648
+ #endif
762
649
i__1 = ninc ;
763
650
for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
764
651
if (inc [i__ - 1 ] == 0 || (i__2 = inc [i__ - 1 ], abs (i__2 )) > 2 ) {
0 commit comments