1010#undef I
1111#endif
1212
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"
3214
3315typedef blasint integer ;
3416
@@ -378,130 +360,6 @@ static integer smaxloc_(float *w, integer s, integer e, integer *n)
378360 return mi - s + 1 ;
379361}
380362#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
505363/* -- translated by f2c (version 20000121).
506364 You must link the resulting object file with the libraries:
507365 -lf2c -lm (in that order)
@@ -673,7 +531,11 @@ static logical c_false = FALSE_;
673531 fgets (line ,80 ,stdin );
674532 sscanf (line ,"'%s'" ,snaps );
675533 fgets (line ,80 ,stdin );
534+ #ifdef USE64BITINT
535+ sscanf (line ,"%ld" ,& ntra );
536+ #else
676537 sscanf (line ,"%d" ,& ntra );
538+ #endif
677539 trace = ntra >= 0 ;
678540 if (trace ) {
679541/* o__1.oerr = 0;
@@ -713,15 +575,24 @@ static logical c_false = FALSE_;
713575
714576/* Values of N */
715577 fgets (line ,80 ,stdin );
578+ #ifdef USE64BITINT
579+ sscanf (line ,"%ld" ,& nidim );
580+ #else
716581 sscanf (line ,"%d" ,& nidim );
582+ #endif
717583
718584 if (nidim < 1 || nidim > 9 ) {
719585 fprintf (stderr ,"NUMBER OF VALUES OF N IS LESS THAN 1 OR GREATER THAN 9" );
720586 goto L230 ;
721587 }
722588 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
723593 sscanf (line ,"%d %d %d %d %d %d %d %d %d" ,& idim [0 ],& idim [1 ],& idim [2 ],
724594 & idim [3 ],& idim [4 ],& idim [5 ],& idim [6 ],& idim [7 ],& idim [8 ]);
595+ #endif
725596 i__1 = nidim ;
726597 for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
727598 if (idim [i__ - 1 ] < 0 || idim [i__ - 1 ] > 65 ) {
@@ -732,14 +603,22 @@ static logical c_false = FALSE_;
732603 }
733604/* Values of K */
734605 fgets (line ,80 ,stdin );
606+ #ifdef USE64BITINT
607+ sscanf (line ,"%ld" ,& nkb );
608+ #else
735609 sscanf (line ,"%d" ,& nkb );
610+ #endif
736611
737612 if (nkb < 1 || nkb > 7 ) {
738613 fprintf (stderr ,"NUMBER OF VALUES OF K IS LESS THAN 1 OR GREATER THAN 7" );
739614 goto L230 ;
740615 }
741616 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
742620 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
743622 i__1 = nkb ;
744623 for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
745624 if (kb [i__ - 1 ] < 0 ) {
@@ -750,15 +629,23 @@ static logical c_false = FALSE_;
750629 }
751630/* Values of INCX and INCY */
752631 fgets (line ,80 ,stdin );
632+ #ifdef USE64BITINT
633+ sscanf (line ,"%ld" ,& ninc );
634+ #else
753635 sscanf (line ,"%d" ,& ninc );
636+ #endif
754637
755638 if (ninc < 1 || ninc > 7 ) {
756639 fprintf (stderr ,"NUMBER OF VALUES OF INCX AND INCY IS LESS THAN 1 OR GREATER THAN 7" );
757640 goto L230 ;
758641 }
759642
760643 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
761647 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
762649 i__1 = ninc ;
763650 for (i__ = 1 ; i__ <= i__1 ; ++ i__ ) {
764651 if (inc [i__ - 1 ] == 0 || (i__2 = inc [i__ - 1 ], abs (i__2 )) > 2 ) {
0 commit comments