@@ -242,251 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
#if 0 | |||
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i]))._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i]))._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i*incx]))._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i*incx]))._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i])) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i*incx])) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotc_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i]))._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i]))._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i*incx]))._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i*incx]))._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i])) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i*incx])) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
static inline void cdotu_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i])._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i])._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i*incx])._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i*incx])._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i]) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i*incx]) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i])._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i])._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i*incx])._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i*incx])._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i]) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i*incx]) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
#endif | |||
/* Common Block Declarations */ | |||
@@ -503,16 +258,16 @@ static integer c__1 = 1; | |||
static integer c__5 = 5; | |||
static real c_b43 = (float)1.; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
static real sfac = (float)9.765625e-4; | |||
/* Local variables */ | |||
extern /* Subroutine */ int check1_(), check2_(); | |||
extern /* Subroutine */ int check1_(real*), check2_(real*); | |||
static integer ic; | |||
extern /* Subroutine */ int header_(); | |||
extern /* Subroutine */ int header_(void); | |||
/* Test program for the COMPLEX Level 1 CBLAS. */ | |||
/* Based upon the original CBLAS test routine together with: */ | |||
@@ -553,7 +308,7 @@ static real c_b43 = (float)1.; | |||
} /* MAIN__ */ | |||
/* Subroutine */ int header_() | |||
/* Subroutine */ int header_(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -564,7 +319,7 @@ static real c_b43 = (float)1.; | |||
/* Format strings */ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
integer s_wsfe(void), do_fio(void), e_wsfe(void); | |||
/* .. Parameters .. */ | |||
/* .. Scalars in Common .. */ | |||
@@ -577,8 +332,7 @@ static real c_b43 = (float)1.; | |||
} /* header_ */ | |||
/* Subroutine */ int check1_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check1_(real* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -683,15 +437,15 @@ real *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern /* Subroutine */ int ctest_(); | |||
extern /* Subroutine */ int ctest_(int*, complex*, complex*, complex*, real*); | |||
static complex mwpcs[5], mwpct[5]; | |||
extern /* Subroutine */ int itest1_(), stest1_(); | |||
extern /* Subroutine */ int itest1_(int*, int*), stest1_(real*,real*,real*,real*); | |||
static complex cx[8]; | |||
extern real scnrm2test_(); | |||
extern real scnrm2test_(int*, complex*, int*); | |||
static integer np1; | |||
extern integer icamaxtest_(); | |||
extern /* Subroutine */ int csscaltest_(); | |||
extern real scasumtest_(); | |||
extern integer icamaxtest_(int*, complex*, int*); | |||
extern /* Subroutine */ int csscaltest_(int*, real*, complex*, int*); | |||
extern real scasumtest_(int*, complex*, int*); | |||
static integer len; | |||
/* .. Parameters .. */ | |||
@@ -808,8 +562,7 @@ real *sfac; | |||
return 0; | |||
} /* check1_ */ | |||
/* Subroutine */ int check2_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check2_(real* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -981,10 +734,10 @@ real *sfac; | |||
static complex cdot[1]; | |||
static integer lenx, leny, i__; | |||
static complex ctemp; | |||
extern /* Subroutine */ int ctest_(); | |||
extern /* Subroutine */ int ctest_(int*, complex*, complex*, complex*, real*); | |||
static integer ksize; | |||
extern /* Subroutine */ int cdotctest_(), ccopytest_(), cdotutest_(), | |||
cswaptest_(), caxpytest_(); | |||
extern /* Subroutine */ int cdotctest_(int*, complex*, int*, complex*, int*,complex*), ccopytest_(int*, complex*, int*, complex*, int*), cdotutest_(int*, complex*, int*, complex*, int*, complex*), | |||
cswaptest_(int*, complex*, int*, complex*, int*), caxpytest_(int*, complex*, complex*, int*, complex*, int*); | |||
static integer ki, kn; | |||
static complex cx[7], cy[7]; | |||
static integer mx, my; | |||
@@ -1067,9 +820,7 @@ real *sfac; | |||
return 0; | |||
} /* check2_ */ | |||
/* Subroutine */ int stest_(len, scomp, strue, ssize, sfac) | |||
integer *len; | |||
real *scomp, *strue, *ssize, *sfac; | |||
/* Subroutine */ int stest_(integer* len, real* scomp, real* strue, real* ssize,real* sfac) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -1077,7 +828,7 @@ real *scomp, *strue, *ssize, *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(real*, real*); | |||
static real sd; | |||
/* ********************************* STEST ************************** */ | |||
@@ -1133,11 +884,10 @@ L40: | |||
} /* stest_ */ | |||
/* Subroutine */ int stest1_(scomp1, strue1, ssize, sfac) | |||
real *scomp1, *strue1, *ssize, *sfac; | |||
/* Subroutine */ int stest1_(real* scomp1, real* strue1, real* ssize, real* sfac) | |||
{ | |||
static real scomp[1], strue[1]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(int*, real*, real*, real*, real*); | |||
/* ************************* STEST1 ***************************** */ | |||
@@ -1164,8 +914,7 @@ real *scomp1, *strue1, *ssize, *sfac; | |||
return 0; | |||
} /* stest1_ */ | |||
doublereal sdiff_(sa, sb) | |||
real *sa, *sb; | |||
doublereal sdiff_(real* sa, real* sb) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -1179,10 +928,7 @@ real *sa, *sb; | |||
return ret_val; | |||
} /* sdiff_ */ | |||
/* Subroutine */ int ctest_(len, ccomp, ctrue, csize, sfac) | |||
integer *len; | |||
complex *ccomp, *ctrue, *csize; | |||
real *sfac; | |||
/* Subroutine */ int ctest_(integer* len, complex* ccomp, complex* ctrue, complex* csize, real* sfac) | |||
{ | |||
/* System generated locals */ | |||
integer i__1, i__2; | |||
@@ -1193,7 +939,7 @@ real *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
static real scomp[20], ssize[20], strue[20]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(int*, real*,real*,real*,real*); | |||
/* **************************** CTEST ***************************** */ | |||
@@ -1231,8 +977,7 @@ real *sfac; | |||
return 0; | |||
} /* ctest_ */ | |||
/* Subroutine */ int itest1_(icomp, itrue) | |||
integer *icomp, *itrue; | |||
/* Subroutine */ int itest1_(integer* icomp, integer* itrue) | |||
{ | |||
/* Local variables */ | |||
static integer id; | |||
@@ -242,129 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -396,7 +273,7 @@ static integer c_n1 = -1; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -414,17 +291,21 @@ static logical c_false = FALSE_; | |||
static logical same; | |||
static integer ninc, nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int cchk1_(), cchk2_(), cchk3_(), cchk4_(), | |||
cchk5_(), cchk6_(); | |||
extern /* Subroutine */ int cchk1_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int cchk2_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int cchk3_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ int cchk4_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, complex*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ int cchk5_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, complex*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ int cchk6_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, complex*, integer*, integer*, integer*, integer*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, complex*, real*, complex*, integer*, ftnlen); | |||
static complex a[4225] /* was [65][65] */; | |||
static real g[65]; | |||
static integer i__, j, n; | |||
static logical fatal; | |||
static complex x[65], y[65], z__[130]; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(real*, real*); | |||
static logical trace; | |||
static integer nidim; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static char snaps[32], trans[1]; | |||
static integer isnum; | |||
static logical ltest[17]; | |||
@@ -438,11 +319,11 @@ static logical c_false = FALSE_; | |||
static char snamet[12]; | |||
static real thresh; | |||
static logical rorder; | |||
extern /* Subroutine */ int cc2chke_(); | |||
extern /* Subroutine */ void cc2chke_(char*, ftnlen); | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
static complex alf[7]; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static integer inc[7], nkb; | |||
static complex bet[7]; | |||
static real eps, err; | |||
@@ -983,22 +864,7 @@ L240: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int cchk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
complex *alf; | |||
integer *nbet; | |||
complex *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
real *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk1_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, complex* alf, integer* nbet, complex* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* y, complex* yy, complex* ys, complex* yt, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1015,10 +881,10 @@ ftnlen sname_len; | |||
static integer incx, incy; | |||
static logical full, tran, null; | |||
static integer i__, m, n; | |||
extern /* Subroutine */ int cmake_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
static complex alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys; | |||
@@ -1026,14 +892,15 @@ ftnlen sname_len; | |||
static integer ia, ib, ic; | |||
static logical banded; | |||
static integer nc, nd, im, in, kl, ml, nk, nl, ku, ix, iy, ms, lx, ly, ns; | |||
extern /* Subroutine */ int ccgbmv_(), ccgemv_(); | |||
extern logical lceres_(); | |||
extern /* Subroutine */ int ccgbmv_(integer*, char*, integer*, integer*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ void ccgemv_(integer*, char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, ftnlen); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
static char ctrans[14]; | |||
static real errmax; | |||
static complex transl; | |||
static char transs[1]; | |||
static integer laa, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static complex als, bls; | |||
static real err; | |||
static integer iku, kls, kus; | |||
@@ -1448,22 +1315,7 @@ L140: | |||
} /* cchk1_ */ | |||
/* Subroutine */ int cchk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
complex *alf; | |||
integer *nbet; | |||
complex *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
real *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk2_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, complex* alf, integer* nbet, complex* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* y, complex* yy, complex* ys, complex* yt, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1481,10 +1333,10 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, k, n; | |||
extern /* Subroutine */ int cmake_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
static complex alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
@@ -1495,13 +1347,14 @@ ftnlen sname_len; | |||
static integer nc, ik, in; | |||
static logical packed; | |||
static integer nk, ks, ix, iy, ns, lx, ly; | |||
extern /* Subroutine */ int cchbmv_(), cchemv_(); | |||
extern logical lceres_(); | |||
extern /* Subroutine */ int cchpmv_(); | |||
extern /* Subroutine */ void cchbmv_(integer*, char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ void cchemv_(integer*, char*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, ftnlen); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cchpmv_(integer*, char*, integer*, complex*, complex*, complex*, integer*, complex*, complex*, integer*, ftnlen); | |||
static real errmax; | |||
static complex transl; | |||
static integer laa, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static complex als, bls; | |||
static real err; | |||
@@ -1906,19 +1759,7 @@ L130: | |||
} /* cchk2_ */ | |||
/* Subroutine */ int cchk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, xt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *xt; | |||
real *g; | |||
complex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk3_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* xt, real* g, complex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1937,10 +1778,10 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1], cdiag[14]; | |||
static integer i__, k, n; | |||
extern /* Subroutine */ int cmake_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
static char diags[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
@@ -1950,17 +1791,19 @@ ftnlen sname_len; | |||
static integer nc, ik, in; | |||
static logical packed; | |||
static integer nk, ks, ix, ns, lx; | |||
extern logical lceres_(); | |||
extern /* Subroutine */ int cctbmv_(), cctbsv_(); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cctbmv_(integer*, char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cctbsv_(integer*, char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char ctrans[14]; | |||
extern /* Subroutine */ int cctpmv_(); | |||
extern /* Subroutine */ void cctpmv_(integer*, char*, char*, char*, integer*, complex*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static real errmax; | |||
extern /* Subroutine */ int cctrmv_(), cctpsv_(); | |||
extern /* Subroutine */ void cctrmv_(integer*, char*, char*, char*, integer*, complex*, integer*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cctpsv_(integer*, char*, char*, char*, integer*, complex*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static complex transl; | |||
extern /* Subroutine */ int cctrsv_(); | |||
extern /* Subroutine */ void cctrsv_(integer*, char*, char*, char*, integer*, complex*, integer*, complex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char transs[1]; | |||
static integer laa, icd, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static integer ict, icu; | |||
static real err; | |||
@@ -2418,21 +2261,7 @@ L130: | |||
} /* cchk3_ */ | |||
/* Subroutine */ int cchk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
complex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
real *g; | |||
complex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk4_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, complex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* y, complex* yy, complex* ys, complex* yt, real* g, complex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6, i__7; | |||
@@ -2444,21 +2273,21 @@ ftnlen sname_len; | |||
static integer incx, incy; | |||
static logical null; | |||
static integer i__, j, m, n; | |||
extern /* Subroutine */ int cmake_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
static complex alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys, ia, nc, nd, im, in; | |||
extern /* Subroutine */ int ccgerc_(); | |||
extern /* Subroutine */ void ccgerc_(integer*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, integer*); | |||
static integer ms, ix, iy, ns, lx, ly; | |||
extern /* Subroutine */ int ccgeru_(); | |||
extern logical lceres_(); | |||
extern /* Subroutine */ void ccgeru_(integer*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, integer*); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
static real errmax; | |||
static complex transl; | |||
static integer laa, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static complex als; | |||
static real err; | |||
@@ -2786,21 +2615,7 @@ L150: | |||
} /* cchk4_ */ | |||
/* Subroutine */ int cchk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
complex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
real *g; | |||
complex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk5_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, complex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* y, complex* yy, complex* ys, complex* yt, real* g, complex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2818,10 +2633,12 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, j, n; | |||
extern /* Subroutine */ int cmake_(), ccher_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void ccher_(integer*, char*, integer*, real*, complex*, integer*, complex*, integer*, ftnlen); | |||
static complex alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cchpr_(), cmvch_(); | |||
extern /* Subroutine */ void cchpr_(integer*, char*, integer*, real*, complex*, integer*, complex*, ftnlen); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
@@ -2832,11 +2649,11 @@ ftnlen sname_len; | |||
static logical packed; | |||
static integer ix, ns, lx; | |||
static real ralpha; | |||
extern logical lceres_(); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
static real errmax; | |||
static complex transl; | |||
static integer laa, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static real err; | |||
/* Tests CHER and CHPR. */ | |||
@@ -3160,21 +2977,7 @@ L130: | |||
} /* cchk5_ */ | |||
/* Subroutine */ int cchk6_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
complex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
complex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
real *g; | |||
complex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int cchk6_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, complex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, complex* a, complex* aa, complex* as, complex* x, complex* xx, complex* xs, complex* y, complex* yy, complex* ys, complex* yt, real* g, complex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -3192,25 +2995,26 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, j, n; | |||
extern /* Subroutine */ int cmake_(); | |||
extern /* Subroutine */ int cmake_(char*, char*, char*, integer*, integer*, complex*, integer*, complex*, integer*, integer*, integer*, logical*, complex*, ftnlen, ftnlen, ftnlen); | |||
static complex alpha, w[2]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int cmvch_(); | |||
extern /* Subroutine */ int cmvch_(char*, integer*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, complex*, integer*, complex*, real*, complex*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ int ccher2_(), cchpr2_(); | |||
extern /* Subroutine */ void ccher2_(integer*, char*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, integer*, ftnlen); | |||
extern /* Subroutine */ void cchpr2_(integer*, char*, integer*, complex*, complex*, integer*, complex*, integer*, complex*, ftnlen); | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
static logical packed; | |||
static integer ix, iy, ns, lx, ly; | |||
extern logical lceres_(); | |||
extern logical lceres_(char*, char*, integer*, integer*, complex*, complex*, integer*, ftnlen, ftnlen); | |||
static real errmax; | |||
static complex transl; | |||
static integer laa, lda; | |||
extern logical lce_(); | |||
extern logical lce_(complex*, complex*, integer*); | |||
static complex als; | |||
static real err; | |||
@@ -3597,24 +3401,7 @@ L170: | |||
} /* cchk6_ */ | |||
/* Subroutine */ int cmvch_(trans, m, n, alpha, a, nmax, x, incx, beta, y, | |||
incy, yt, g, yy, eps, err, fatal, nout, mv, trans_len) | |||
char *trans; | |||
integer *m, *n; | |||
complex *alpha, *a; | |||
integer *nmax; | |||
complex *x; | |||
integer *incx; | |||
complex *beta, *y; | |||
integer *incy; | |||
complex *yt; | |||
real *g; | |||
complex *yy; | |||
real *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen trans_len; | |||
/* Subroutine */ int cmvch_(char* trans, integer* m, integer* n, complex* alpha, complex* a, integer* nmax, complex* x, integer* incx, complex* beta, complex* y, integer* incy, complex* yt, real* g, complex* yy, real* eps, real* err, logical* fatal, integer* nout, logical* mv, ftnlen trans_len) | |||
{ | |||
/* System generated locals */ | |||
@@ -3812,9 +3599,7 @@ L80: | |||
} /* cmvch_ */ | |||
logical lce_(ri, rj, lr) | |||
complex *ri, *rj; | |||
integer *lr; | |||
logical lce_(complex* ri, complex* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1, i__2, i__3; | |||
@@ -3861,13 +3646,7 @@ L30: | |||
} /* lce_ */ | |||
logical lceres_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
complex *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lceres_(char* type__, char* uplo, integer* m, integer* n, complex* aa, complex* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2, i__3, i__4; | |||
@@ -3960,9 +3739,7 @@ L80: | |||
} /* lceres_ */ | |||
/* Complex */ VOID cbeg_( ret_val, reset) | |||
complex * ret_val; | |||
logical *reset; | |||
/* Complex */ VOID cbeg_(complex* ret_val, logical* reset) | |||
{ | |||
/* System generated locals */ | |||
real r__1, r__2; | |||
@@ -4023,8 +3800,7 @@ L10: | |||
} /* cbeg_ */ | |||
doublereal sdiff_(x, y) | |||
real *x, *y; | |||
doublereal sdiff_(real* x, real* y) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -4044,19 +3820,7 @@ real *x, *y; | |||
} /* sdiff_ */ | |||
/* Subroutine */ int cmake_(type__, uplo, diag, m, n, a, nmax, aa, lda, kl, | |||
ku, reset, transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
complex *a; | |||
integer *nmax; | |||
complex *aa; | |||
integer *lda, *kl, *ku; | |||
logical *reset; | |||
complex *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int cmake_(char* type__, char* uplo, char* diag, integer* m, integer* n, complex* a, integer* nmax, complex* aa, integer* lda, integer* kl, integer* ku, logical* reset, complex* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4; | |||
@@ -4064,7 +3828,7 @@ ftnlen diag_len; | |||
complex q__1, q__2; | |||
/* Local variables */ | |||
extern /* Complex */ VOID cbeg_(); | |||
extern /* Complex */ VOID cbeg_(complex*, logical*); | |||
static integer ibeg, iend, ioff; | |||
static logical unit; | |||
static integer i__, j; | |||
@@ -242,130 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -21,19 +21,6 @@ typedef float real; | |||
typedef double doublereal; | |||
typedef struct { real r, i; } complex; | |||
typedef struct { doublereal r, i; } doublecomplex; | |||
#ifdef _MSC_VER | |||
static inline _Fcomplex Cf(complex *z) {_Fcomplex zz={z->r , z->i}; return zz;} | |||
static inline _Dcomplex Cd(doublecomplex *z) {_Dcomplex zz={z->r , z->i};return zz;} | |||
static inline _Fcomplex * _pCf(complex *z) {return (_Fcomplex*)z;} | |||
static inline _Dcomplex * _pCd(doublecomplex *z) {return (_Dcomplex*)z;} | |||
#else | |||
static inline _Complex float Cf(complex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex double Cd(doublecomplex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex float * _pCf(complex *z) {return (_Complex float*)z;} | |||
static inline _Complex double * _pCd(doublecomplex *z) {return (_Complex double*)z;} | |||
#endif | |||
#define pCf(z) (*_pCf(z)) | |||
#define pCd(z) (*_pCd(z)) | |||
typedef int logical; | |||
typedef short int shortlogical; | |||
typedef char logical1; | |||
@@ -242,124 +229,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* Common Block Declarations */ | |||
@@ -375,16 +244,16 @@ struct { | |||
static integer c__1 = 1; | |||
static doublereal c_b34 = 1.; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
static doublereal sfac = 9.765625e-4; | |||
/* Local variables */ | |||
extern /* Subroutine */ int check0_(), check1_(), check2_(), check3_(); | |||
extern /* Subroutine */ int check0_(doublereal*), check1_(doublereal*), check2_(doublereal*), check3_(doublereal*); | |||
static integer ic; | |||
extern /* Subroutine */ int header_(); | |||
extern /* Subroutine */ int header_(void); | |||
/* Test program for the DOUBLE PRECISION Level 1 CBLAS. */ | |||
/* Based upon the original CBLAS test routine together with: */ | |||
@@ -431,7 +300,7 @@ static doublereal c_b34 = 1.; | |||
} /* MAIN__ */ | |||
/* Subroutine */ int header_() | |||
/* Subroutine */ int header_(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -450,8 +319,7 @@ static doublereal c_b34 = 1.; | |||
} /* header_ */ | |||
/* Subroutine */ int check0_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check0_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -464,7 +332,7 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static integer k; | |||
extern /* Subroutine */ int drotgtest_(), stest1_(); | |||
extern /* Subroutine */ int drotgtest_(doublereal*,doublereal*,doublereal*,doublereal*), stest1_(doublereal*,doublereal*,doublereal*,doublereal*); | |||
static doublereal sa, sb, sc, ss; | |||
/* .. Parameters .. */ | |||
@@ -509,8 +377,7 @@ L40: | |||
return 0; | |||
} /* check0_ */ | |||
/* Subroutine */ int check1_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check1_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -535,14 +402,14 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern doublereal dnrm2test_(); | |||
extern doublereal dnrm2test_(int*, doublereal*, int*); | |||
static doublereal stemp[1], strue[8]; | |||
extern /* Subroutine */ int stest_(), dscaltest_(); | |||
extern doublereal dasumtest_(); | |||
extern /* Subroutine */ int itest1_(), stest1_(); | |||
extern /* Subroutine */ int stest_(int*,doublereal*,doublereal*,doublereal*,doublereal*), dscaltest_(int*,doublereal*,doublereal*,int*); | |||
extern doublereal dasumtest_(int*,doublereal*,int*); | |||
extern /* Subroutine */ int itest1_(int*,int*), stest1_(doublereal*,doublereal*,doublereal*,doublereal*); | |||
static doublereal sx[8]; | |||
static integer np1; | |||
extern integer idamaxtest_(); | |||
extern integer idamaxtest_(int*,doublereal*,int*); | |||
static integer len; | |||
/* .. Parameters .. */ | |||
@@ -603,8 +470,7 @@ doublereal *sfac; | |||
return 0; | |||
} /* check1_ */ | |||
/* Subroutine */ int check2_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check2_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -649,10 +515,10 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static integer lenx, leny; | |||
extern doublereal ddottest_(); | |||
extern doublereal ddottest_(int*,doublereal*,int*,doublereal*,int*); | |||
static integer i__, j, ksize; | |||
extern /* Subroutine */ int stest_(), dcopytest_(), dswaptest_(), | |||
daxpytest_(), stest1_(); | |||
extern /* Subroutine */ int stest_(int*,doublereal*,doublereal*,doublereal*,doublereal*), dcopytest_(int*,doublereal*,int*,doublereal*,int*), dswaptest_(int*,doublereal*,int*,doublereal*,int*), | |||
daxpytest_(int*,doublereal*,doublereal*,int*,doublereal*,int*), stest1_(doublereal*,doublereal*,doublereal*,doublereal*); | |||
static integer ki, kn, mx, my; | |||
static doublereal sx[7], sy[7], stx[7], sty[7]; | |||
@@ -733,8 +599,7 @@ doublereal *sfac; | |||
return 0; | |||
} /* check2_ */ | |||
/* Subroutine */ int check3_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check3_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -753,9 +618,9 @@ doublereal *sfac; | |||
; | |||
/* Local variables */ | |||
extern /* Subroutine */ int drottest_(); | |||
extern /* Subroutine */ int drottest_(int*,doublereal*,int*,doublereal*,int*,doublereal*,doublereal*); | |||
static integer i__, k, ksize; | |||
extern /* Subroutine */int stest_(), drotmtest_(); | |||
extern /* Subroutine */int stest_(int*,doublereal*,doublereal*,doublereal*,doublereal*), drotmtest_(int*,doublereal*,int*,doublereal*,int*,doublereal*); | |||
static integer ki, kn; | |||
static doublereal dparam[5], sx[10], sy[10], stx[10], sty[10]; | |||
@@ -826,9 +691,7 @@ doublereal *sfac; | |||
return 0; | |||
} /* check3_ */ | |||
/* Subroutine */ int stest_(len, scomp, strue, ssize, sfac) | |||
integer *len; | |||
doublereal *scomp, *strue, *ssize, *sfac; | |||
/* Subroutine */ int stest_(int* len, doublereal* scomp, doublereal* strue, doublereal* ssize, doublereal* sfac) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -836,7 +699,7 @@ doublereal *scomp, *strue, *ssize, *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(doublereal*,doublereal*); | |||
static doublereal sd; | |||
/* ********************************* STEST ************************** */ | |||
@@ -892,11 +755,10 @@ L40: | |||
} /* stest_ */ | |||
/* Subroutine */ int stest1_(scomp1, strue1, ssize, sfac) | |||
doublereal *scomp1, *strue1, *ssize, *sfac; | |||
/* Subroutine */ int stest1_(doublereal* scomp1, doublereal* strue1, doublereal* ssize, doublereal* sfac) | |||
{ | |||
static doublereal scomp[1], strue[1]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(int*, doublereal*, doublereal*, doublereal*, doublereal*); | |||
/* ************************* STEST1 ***************************** */ | |||
@@ -923,8 +785,7 @@ doublereal *scomp1, *strue1, *ssize, *sfac; | |||
return 0; | |||
} /* stest1_ */ | |||
doublereal sdiff_(sa, sb) | |||
doublereal *sa, *sb; | |||
doublereal sdiff_(doublereal* sa, doublereal* sb) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -938,8 +799,7 @@ doublereal *sa, *sb; | |||
return ret_val; | |||
} /* sdiff_ */ | |||
/* Subroutine */ int itest1_(icomp, itrue) | |||
integer *icomp, *itrue; | |||
/* Subroutine */ int itest1_(int* icomp, int* itrue) | |||
{ | |||
/* Local variables */ | |||
static integer id; | |||
@@ -1188,4 +1048,4 @@ doublereal *dparam; | |||
return 0; | |||
} /* drotm_ */ | |||
#endif | |||
#endif |
@@ -242,129 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -395,7 +272,7 @@ static integer c_n1 = -1; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -413,17 +290,21 @@ static logical c_false = FALSE_; | |||
static logical same; | |||
static integer ninc, nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int dchk1_(), dchk2_(), dchk3_(), dchk4_(), | |||
dchk5_(), dchk6_(); | |||
extern /* Subroutine */ int dchk1_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk2_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk3_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk4_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk5_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk6_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
static doublereal a[4225] /* was [65][65] */, g[65]; | |||
static integer i__, j; | |||
extern doublereal ddiff_(); | |||
extern doublereal ddiff_(doublereal*, doublereal*); | |||
static integer n; | |||
static logical fatal; | |||
static doublereal x[65], y[65], z__[130]; | |||
static logical trace; | |||
static integer nidim; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static char snaps[32], trans[1]; | |||
static integer isnum; | |||
static logical ltest[16]; | |||
@@ -437,11 +318,11 @@ static logical c_false = FALSE_; | |||
static char snamet[12]; | |||
static doublereal thresh; | |||
static logical rorder; | |||
extern /* Subroutine */ int cd2chke_(); | |||
extern /* Subroutine */ void cd2chke_(char*, ftnlen); | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
static doublereal alf[7]; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static integer inc[7], nkb; | |||
static doublereal bet[7],eps,err; | |||
char tmpchar; | |||
@@ -977,21 +858,7 @@ L240: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int dchk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk1_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* y, doublereal* yy, doublereal* ys, doublereal* yt, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1007,10 +874,10 @@ ftnlen sname_len; | |||
static integer incx, incy; | |||
static logical full, tran, null; | |||
static integer i__, m, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys; | |||
@@ -1018,13 +885,14 @@ ftnlen sname_len; | |||
static integer ia, ib, ic; | |||
static logical banded; | |||
static integer nc, nd, im, in, kl, ml, nk, nl, ku, ix, iy, ms, lx, ly, ns; | |||
extern /* Subroutine */ int cdgbmv_(), cdgemv_(); | |||
extern logical lderes_(); | |||
extern /* Subroutine */ void cdgbmv_(integer*, char*, integer*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ void cdgemv_(integer*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static char ctrans[14]; | |||
static doublereal errmax, transl; | |||
static char transs[1]; | |||
static integer laa, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, bls, err; | |||
static integer iku, kls, kus; | |||
@@ -1429,21 +1297,7 @@ L140: | |||
} /* dchk1_ */ | |||
/* Subroutine */ int dchk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk2_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* y, doublereal* yy, doublereal* ys, doublereal* yt, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1460,10 +1314,10 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, k, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
@@ -1474,12 +1328,13 @@ ftnlen sname_len; | |||
static integer nc, ik, in; | |||
static logical packed; | |||
static integer nk, ks, ix, iy, ns, lx, ly; | |||
extern logical lderes_(); | |||
extern /* Subroutine */ int cdsbmv_(), cdspmv_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdsbmv_(integer*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ void cdspmv_(integer*, char*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen); | |||
static doublereal errmax, transl; | |||
extern /* Subroutine */ int cdsymv_(); | |||
extern /* Subroutine */ void cdsymv_(integer*, char*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen); | |||
static integer laa, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, bls, err; | |||
@@ -1882,17 +1737,7 @@ L130: | |||
} /* dchk2_ */ | |||
/* Subroutine */ int dchk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, xt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *xt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk3_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* xt, doublereal* g, doublereal* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1911,10 +1756,10 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1], cdiag[14]; | |||
static integer i__, k, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static char diags[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
@@ -1924,16 +1769,19 @@ ftnlen sname_len; | |||
static integer nc, ik, in; | |||
static logical packed; | |||
static integer nk, ks, ix, ns, lx; | |||
extern logical lderes_(); | |||
extern /* Subroutine */ int cdtbmv_(), cdtbsv_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdtbmv_(integer*, char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdtbsv_(integer*, char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char ctrans[14]; | |||
static doublereal errmax; | |||
extern /* Subroutine */ int cdtpmv_(), cdtrmv_(); | |||
extern /* Subroutine */ void cdtpmv_(integer*, char*, char*, char*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdtrmv_(integer*, char*, char*, char*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static doublereal transl; | |||
extern /* Subroutine */ int cdtpsv_(), cdtrsv_(); | |||
extern /* Subroutine */ void cdtpsv_(integer*, char*, char*, char*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdtrsv_(integer*, char*, char*, char*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char transs[1]; | |||
static integer laa, icd, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static integer ict, icu; | |||
static doublereal err; | |||
@@ -2388,19 +2236,7 @@ L130: | |||
} /* dchk3_ */ | |||
/* Subroutine */ int dchk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk4_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* y, doublereal* yy, doublereal* ys, doublereal* yt, doublereal* g, doublereal* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6; | |||
@@ -2411,17 +2247,18 @@ ftnlen sname_len; | |||
static integer incx, incy; | |||
static logical null; | |||
static integer i__, j, m, n; | |||
extern /* Subroutine */ int dmake_(), cdger_(); | |||
extern /* Subroutine */ void cdger_(integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, integer*); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys, ia, nc, nd, im, in, ms, ix, iy, ns, lx, ly; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax, transl; | |||
static integer laa, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, err; | |||
@@ -2727,19 +2564,7 @@ L150: | |||
} /* dchk4_ */ | |||
/* Subroutine */ int dchk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk5_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* y, doublereal* yy, doublereal* ys, doublereal* yt, doublereal* g, doublereal* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2757,25 +2582,25 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, j, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int cdspr_(); | |||
extern /* Subroutine */ void cdspr_(integer*, char*, integer*, doublereal*, doublereal*, integer*, doublereal*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs; | |||
extern /* Subroutine */ int cdsyr_(); | |||
extern /* Subroutine */ void cdsyr_(integer*, char*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, ftnlen); | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
static logical packed; | |||
static integer ix, ns, lx; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax, transl; | |||
static integer laa, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, err; | |||
@@ -3096,19 +2921,7 @@ L130: | |||
} /* dchk5_ */ | |||
/* Subroutine */ int dchk6_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublereal *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk6_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* x, doublereal* xx, doublereal* xs, doublereal* y, doublereal* yy, doublereal* ys, doublereal* yt, doublereal* g, doublereal* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -3125,24 +2938,25 @@ ftnlen sname_len; | |||
static logical full, null; | |||
static char uplo[1]; | |||
static integer i__, j, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char* , char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, integer*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha, w[2]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int dmvch_(); | |||
extern /* Subroutine */ int dmvch_(char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ int cdspr2_(), cdsyr2_(); | |||
extern /* Subroutine */ void cdspr2_(integer*, char*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, ftnlen); | |||
extern /* Subroutine */ void cdsyr2_(integer*, char*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen); | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
static logical packed; | |||
static integer ix, iy, ns, lx, ly; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax, transl; | |||
static integer laa, lda; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, err; | |||
/* Tests DSYR2 and DSPR2. */ | |||
@@ -3508,25 +3322,13 @@ L170: | |||
} /* dchk6_ */ | |||
/* Subroutine */ int dmake_(type__, uplo, diag, m, n, a, nmax, aa, lda, kl, | |||
ku, reset, transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
doublereal *a; | |||
integer *nmax; | |||
doublereal *aa; | |||
integer *lda, *kl, *ku; | |||
logical *reset; | |||
doublereal *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int dmake_(char* type__, char* uplo, char* diag, integer* m, integer* n, doublereal* a, integer* nmax, doublereal* aa, integer* lda, integer* kl, integer* ku, logical* reset, doublereal* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4; | |||
/* Local variables */ | |||
extern doublereal dbeg_(); | |||
extern doublereal dbeg_(logical* ); | |||
static integer ibeg, iend, ioff; | |||
static logical unit; | |||
static integer i__, j; | |||
@@ -3752,28 +3554,14 @@ ftnlen diag_len; | |||
} /* dmake_ */ | |||
/* Subroutine */ int dmvch_(trans, m, n, alpha, a, nmax, x, incx, beta, y, | |||
incy, yt, g, yy, eps, err, fatal, nout, mv, trans_len) | |||
char *trans; | |||
integer *m, *n; | |||
doublereal *alpha, *a; | |||
integer *nmax; | |||
doublereal *x; | |||
integer *incx; | |||
doublereal *beta, *y; | |||
integer *incy; | |||
doublereal *yt, *g, *yy, *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen trans_len; | |||
/* Subroutine */ int dmvch_(char* trans, integer* m, integer* n, doublereal* alpha, doublereal* a, integer* nmax, doublereal* x, integer* incx, doublereal* beta, doublereal* y, integer* incy, doublereal* yt, doublereal* g, doublereal* yy, doublereal* eps, doublereal* err, logical* fatal, integer* nout, logical* mv, ftnlen trans_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2; | |||
doublereal d__1; | |||
/* Builtin functions */ | |||
double sqrt(); | |||
double sqrt(double); | |||
/* Local variables */ | |||
static doublereal erri; | |||
@@ -3902,9 +3690,7 @@ L70: | |||
} /* dmvch_ */ | |||
logical lde_(ri, rj, lr) | |||
doublereal *ri, *rj; | |||
integer *lr; | |||
logical lde_(doublereal* ri, doublereal* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -3949,13 +3735,7 @@ L30: | |||
} /* lde_ */ | |||
logical lderes_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
doublereal *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lderes_(char* type__, char* uplo, integer* m, integer* n, doublereal* aa, doublereal* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2; | |||
@@ -4042,8 +3822,7 @@ L80: | |||
} /* lderes_ */ | |||
doublereal dbeg_(reset) | |||
logical *reset; | |||
doublereal dbeg_(logical* reset) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -4094,8 +3873,7 @@ L10: | |||
} /* dbeg_ */ | |||
doublereal ddiff_(x, y) | |||
doublereal *x, *y; | |||
doublereal ddiff_(doublereal* x, doublereal* y) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -242,129 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -393,7 +270,7 @@ static logical c_true = TRUE_; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program MAIN__() */ int main() | |||
/* Main program MAIN__() */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -403,25 +280,24 @@ static logical c_false = FALSE_; | |||
integer i__1, i__2, i__3; | |||
doublereal d__1; | |||
/* Builtin functions */ | |||
integer s_rsle(), do_lio(), e_rsle(), f_open(), s_wsfe(), do_fio(), | |||
e_wsfe(), s_wsle(), e_wsle(), s_rsfe(), e_rsfe(); | |||
integer f_clos(); | |||
/* Local variables */ | |||
static integer nalf, idim[9]; | |||
static logical same; | |||
static integer nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int dchk1_(), dchk2_(), dchk3_(), dchk4_(), | |||
dchk5_(); | |||
extern /* Subroutine */ int dchk1_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk2_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk3_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int dchk4_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, doublereal*, integer*, ftnlen); | |||
/* Subroutine */ int dchk5_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* nmax, doublereal* ab, doublereal* aa, doublereal* as, doublereal* bb, doublereal* bs, doublereal* c__, doublereal* cc, doublereal* cs, doublereal* ct, doublereal* g, doublereal* w, integer* iorder, ftnlen sname_len); | |||
static doublereal c__[4225] /* was [65][65] */, g[65]; | |||
static integer i__, j; | |||
extern doublereal ddiff_(); | |||
extern doublereal ddiff_(doublereal*, doublereal*); | |||
static integer n; | |||
static logical fatal; | |||
static doublereal w[130]; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical trace; | |||
static integer nidim; | |||
static char snaps[32]; | |||
@@ -433,11 +309,11 @@ static logical c_false = FALSE_; | |||
static char snamet[12], transa[1], transb[1]; | |||
static doublereal thresh; | |||
static logical rorder; | |||
extern /* Subroutine */ int cd3chke_(); | |||
extern /* Subroutine */ void cd3chke_(char*, ftnlen); | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
static doublereal alf[7]; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal bet[7], eps, err; | |||
char tmpchar; | |||
@@ -907,21 +783,7 @@ L230: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int dchk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *nmax; | |||
doublereal *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk1_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* nmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* b, doublereal* bb, doublereal* bs, doublereal* c__, doublereal* cc, doublereal* cs, doublereal* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -931,29 +793,27 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5, i__6; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static doublereal beta; | |||
static integer ldas, ldbs, ldcs; | |||
static logical same, null; | |||
static integer i__, k, m, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical isame[13], trana, tranb; | |||
static integer nargs; | |||
static logical reset; | |||
extern /* Subroutine */ void dprcn1_(); | |||
extern /* Subroutine */ void dprcn1_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, integer*, doublereal*, integer*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ia, ib, ma, mb, na, nb, nc, ik, im, in; | |||
extern /* Subroutine */ int cdgemm_(); | |||
extern /* Subroutine */ void cdgemm_(integer*, char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static integer ks, ms, ns; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static char tranas[1], tranbs[1], transa[1], transb[1]; | |||
static doublereal errmax; | |||
static integer ica, icb, laa, lbb, lda, lcc, ldb, ldc; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als, bls, err; | |||
/* Tests DGEMM. */ | |||
@@ -1283,23 +1143,8 @@ L130: | |||
} /* dchk1_ */ | |||
/* Subroutine */ void dprcn1_(nout, nc, sname, iorder, transa, transb, m, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, transa_len, transb_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *transa, *transb; | |||
integer *m, *n, *k; | |||
doublereal *alpha; | |||
integer *lda, *ldb; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ void dprcn1_(integer* nout, integer* nc, char* sname, integer* iorder, char* transa, char* transb, integer* m, integer* n, integer* k, doublereal* alpha, integer* lda, integer* ldb, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char crc[14], cta[14], ctb[14]; | |||
@@ -1328,21 +1173,7 @@ ftnlen transb_len; | |||
} /* dprcn1_ */ | |||
/* Subroutine */ int dchk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *nmax; | |||
doublereal *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk2_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* nmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* b, doublereal* bb, doublereal* bs, doublereal* c__, doublereal* cc, doublereal* cs, doublereal* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1353,8 +1184,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static doublereal beta; | |||
@@ -1364,21 +1193,21 @@ ftnlen sname_len; | |||
static logical left, null; | |||
static char uplo[1]; | |||
static integer i__, m, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical isame[13]; | |||
static char sides[1]; | |||
static integer nargs; | |||
static logical reset; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void dprcn2_(); | |||
extern /* Subroutine */ void dprcn2_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublereal*, integer*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ia, ib, na, nc, im, in, ms, ns; | |||
extern logical lderes_(); | |||
extern /* Subroutine */ int cdsymm_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdsymm_(integer*, char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
static integer laa, lbb, lda, lcc, ldb, ldc; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static integer ics; | |||
static doublereal als, bls; | |||
static integer icu; | |||
@@ -1692,23 +1521,8 @@ L120: | |||
} /* dchk2_ */ | |||
/* Subroutine */ void dprcn2_(nout, nc, sname, iorder, side, uplo, m, n, alpha, | |||
lda, ldb, beta, ldc, sname_len, side_len, uplo_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo; | |||
integer *m, *n; | |||
doublereal *alpha; | |||
integer *lda, *ldb; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
/* Subroutine */ void dprcn2_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, integer* m, integer* n, doublereal* alpha, integer* lda, integer* ldb, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char cs[14], cu[14], crc[14]; | |||
@@ -1733,19 +1547,7 @@ ftnlen uplo_len; | |||
} /* dprcn2_ */ | |||
/* Subroutine */ int dchk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nmax, a, aa, as, b, bb, bs, ct, g, c__, | |||
iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *nmax; | |||
doublereal *a, *aa, *as, *b, *bb, *bs, *ct, *g, *c__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk3_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* b, doublereal* bb, doublereal* bs, doublereal* ct, doublereal* g, doublereal* c__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1766,24 +1568,24 @@ ftnlen sname_len; | |||
static logical left, null; | |||
static char uplo[1]; | |||
static integer i__, j, m, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
static char diags[1]; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical isame[13]; | |||
static char sides[1]; | |||
static integer nargs; | |||
static logical reset; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void dprcn3_(); | |||
extern /* Subroutine */ void dprcn3_(integer*, integer*, char*, integer*, char*, char*, char*, char*, integer*, integer*, doublereal*, integer*, integer*, ftnlen, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static integer ia, na, nc, im, in, ms, ns; | |||
extern logical lderes_(); | |||
extern /* Subroutine */ int cdtrmm_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cdtrmm_(integer*, char*, char*, char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static char tranas[1], transa[1]; | |||
extern /* Subroutine */ int cdtrsm_(); | |||
extern /* Subroutine */ void cdtrsm_(integer*, char*, char*, char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
static integer laa, icd, lbb, lda, ldb; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static integer ics; | |||
static doublereal als; | |||
static integer ict, icu; | |||
@@ -2165,24 +1967,8 @@ L160: | |||
} /* dchk3_ */ | |||
/* Subroutine */ void dprcn3_(nout, nc, sname, iorder, side, uplo, transa, | |||
diag, m, n, alpha, lda, ldb, sname_len, side_len, uplo_len, | |||
transa_len, diag_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo, *transa, *diag; | |||
integer *m, *n; | |||
doublereal *alpha; | |||
integer *lda, *ldb; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ void dprcn3_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, char* transa, char* diag, integer* m, integer* n, doublereal* alpha, integer* lda, integer* ldb, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cd[14], cs[14], cu[14], crc[14]; | |||
@@ -2219,21 +2005,7 @@ ftnlen diag_len; | |||
} /* dprcn3_ */ | |||
/* Subroutine */ int dchk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *nmax; | |||
doublereal *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk4_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* nmax, doublereal* a, doublereal* aa, doublereal* as, doublereal* b, doublereal* bb, doublereal* bs, doublereal* c__, doublereal* cc, doublereal* cs, doublereal* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2244,8 +2016,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static doublereal beta; | |||
@@ -2255,23 +2025,23 @@ ftnlen sname_len; | |||
static logical tran, null; | |||
static char uplo[1]; | |||
static integer i__, j, k, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical isame[13]; | |||
static integer nargs; | |||
static logical reset; | |||
static char trans[1]; | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void dprcn4_(); | |||
extern /* Subroutine */ void dprcn4_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ia, ib, jc, ma, na, nc, ik, in, jj, lj, ks, ns; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
extern /* Subroutine */ int cdsyrk_(); | |||
extern /* Subroutine */ void cdsyrk_(integer*, char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static char transs[1]; | |||
static integer laa, lda, lcc, ldc; | |||
extern logical lde_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
static doublereal als; | |||
static integer ict, icu; | |||
static doublereal err; | |||
@@ -2586,23 +2356,8 @@ L130: | |||
} /* dchk4_ */ | |||
/* Subroutine */ void dprcn4_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublereal *alpha; | |||
integer *lda; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ void dprcn4_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublereal* alpha, integer* lda, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -2629,21 +2384,7 @@ ftnlen transa_len; | |||
} /* dprcn4_ */ | |||
/* Subroutine */ int dchk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, ab, aa, as, bb, bs, | |||
c__, cc, cs, ct, g, w, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublereal *alf; | |||
integer *nbet; | |||
doublereal *bet; | |||
integer *nmax; | |||
doublereal *ab, *aa, *as, *bb, *bs, *c__, *cc, *cs, *ct, *g, *w; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int dchk5_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublereal* alf, integer* nbet, doublereal* bet, integer* nmax, doublereal* ab, doublereal* aa, doublereal* as, doublereal* bb, doublereal* bs, doublereal* c__, doublereal* cc, doublereal* cs, doublereal* ct, doublereal* g, doublereal* w, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2653,8 +2394,6 @@ ftnlen sname_len; | |||
/* System generated locals */ | |||
integer c_dim1, c_offset, i__1, i__2, i__3, i__4, i__5, i__6, i__7, i__8; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static integer jjab; | |||
@@ -2665,23 +2404,23 @@ ftnlen sname_len; | |||
static logical tran, null; | |||
static char uplo[1]; | |||
static integer i__, j, k, n; | |||
extern /* Subroutine */ int dmake_(); | |||
extern /* Subroutine */ int dmake_(char*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, logical*, doublereal*, ftnlen, ftnlen, ftnlen); | |||
static doublereal alpha; | |||
extern /* Subroutine */ int dmmch_(); | |||
extern /* Subroutine */ int dmmch_(char*, char*, integer*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, doublereal*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical isame[13]; | |||
static integer nargs; | |||
static logical reset; | |||
static char trans[1]; | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void dprcn5_(); | |||
extern /* Subroutine */ void dprcn5_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublereal*, integer*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ia, ib, jc, ma, na, nc, ik, in, jj, lj, ks, ns; | |||
extern logical lderes_(); | |||
extern logical lderes_(char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
static char transs[1]; | |||
static integer laa, lbb, lda, lcc, ldb, ldc; | |||
extern logical lde_(); | |||
extern /* Subroutine */ int cdsyr2k_(); | |||
extern logical lde_(doublereal*, doublereal*, integer*); | |||
extern /* Subroutine */ void cdsyr2k_(integer*, char*, char*, integer*, integer*, doublereal*, doublereal*, integer*, doublereal*, integer*, doublereal*, doublereal*, integer*, ftnlen, ftnlen); | |||
static doublereal als; | |||
static integer ict, icu; | |||
static doublereal err; | |||
@@ -3048,23 +2787,8 @@ L160: | |||
} /* dchk5_ */ | |||
/* Subroutine */ void dprcn5_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublereal *alpha; | |||
integer *lda, *ldb; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ void dprcn5_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublereal* alpha, integer* lda, integer* ldb, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -3091,25 +2815,13 @@ ftnlen transa_len; | |||
} /* dprcn5_ */ | |||
/* Subroutine */ int dmake_(type__, uplo, diag, m, n, a, nmax, aa, lda, reset, | |||
transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
doublereal *a; | |||
integer *nmax; | |||
doublereal *aa; | |||
integer *lda; | |||
logical *reset; | |||
doublereal *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int dmake_(char* type__, char* uplo, char* diag, integer* m, integer* n, doublereal* a, integer* nmax, doublereal* aa, integer* lda, logical* reset, doublereal* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2; | |||
/* Local variables */ | |||
extern doublereal dbeg_(); | |||
extern doublereal dbeg_(logical*); | |||
static integer ibeg, iend; | |||
static logical unit; | |||
static integer i__, j; | |||
@@ -3241,25 +2953,7 @@ ftnlen diag_len; | |||
} /* dmake_ */ | |||
/* Subroutine */ int dmmch_(transa, transb, m, n, kk, alpha, a, lda, b, ldb, | |||
beta, c__, ldc, ct, g, cc, ldcc, eps, err, fatal, nout, mv, | |||
transa_len, transb_len) | |||
char *transa, *transb; | |||
integer *m, *n, *kk; | |||
doublereal *alpha, *a; | |||
integer *lda; | |||
doublereal *b; | |||
integer *ldb; | |||
doublereal *beta, *c__; | |||
integer *ldc; | |||
doublereal *ct, *g, *cc; | |||
integer *ldcc; | |||
doublereal *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ int dmmch_(char* transa, char* transb, integer* m, integer* n, integer* kk, doublereal* alpha, doublereal* a, integer* lda, doublereal* b, integer* ldb, doublereal* beta, doublereal* c__, integer* ldc, doublereal* ct, doublereal* g, doublereal* cc, integer* ldcc, doublereal* eps, doublereal* err, logical* fatal, integer* nout, logical* mv, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, cc_dim1, | |||
@@ -3267,8 +2961,7 @@ ftnlen transb_len; | |||
doublereal d__1, d__2; | |||
/* Builtin functions */ | |||
double sqrt(); | |||
integer s_wsfe(), e_wsfe(), do_fio(); | |||
double sqrt(double); | |||
/* Local variables */ | |||
static doublereal erri; | |||
@@ -3432,9 +3125,7 @@ L150: | |||
} /* dmmch_ */ | |||
logical lde_(ri, rj, lr) | |||
doublereal *ri, *rj; | |||
integer *lr; | |||
logical lde_(doublereal* ri, doublereal* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -3481,13 +3172,7 @@ L30: | |||
} /* lde_ */ | |||
logical lderes_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
doublereal *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lderes_(char* type__, char* uplo, integer* m, integer* n, doublereal* aa, doublereal* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2; | |||
@@ -3576,8 +3261,7 @@ L80: | |||
} /* lderes_ */ | |||
doublereal dbeg_(reset) | |||
logical *reset; | |||
doublereal dbeg_(logical* reset) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -3629,8 +3313,7 @@ L10: | |||
} /* dbeg_ */ | |||
doublereal ddiff_(x, y) | |||
doublereal *x, *y; | |||
doublereal ddiff_(doublereal* x, doublereal* y) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -21,19 +21,6 @@ typedef float real; | |||
typedef double doublereal; | |||
typedef struct { real r, i; } complex; | |||
typedef struct { doublereal r, i; } doublecomplex; | |||
#ifdef _MSC_VER | |||
static inline _Fcomplex Cf(complex *z) {_Fcomplex zz={z->r , z->i}; return zz;} | |||
static inline _Dcomplex Cd(doublecomplex *z) {_Dcomplex zz={z->r , z->i};return zz;} | |||
static inline _Fcomplex * _pCf(complex *z) {return (_Fcomplex*)z;} | |||
static inline _Dcomplex * _pCd(doublecomplex *z) {return (_Dcomplex*)z;} | |||
#else | |||
static inline _Complex float Cf(complex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex double Cd(doublecomplex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex float * _pCf(complex *z) {return (_Complex float*)z;} | |||
static inline _Complex double * _pCd(doublecomplex *z) {return (_Complex double*)z;} | |||
#endif | |||
#define pCf(z) (*_pCf(z)) | |||
#define pCd(z) (*_pCd(z)) | |||
typedef int logical; | |||
typedef short int shortlogical; | |||
typedef char logical1; | |||
@@ -242,250 +229,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
#if 0 | |||
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i]))._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i]))._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i*incx]))._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i*incx]))._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i])) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i*incx])) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotc_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i]))._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i]))._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i*incx]))._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i*incx]))._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i])) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i*incx])) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
static inline void cdotu_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i])._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i])._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i*incx])._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i*incx])._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i]) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i*incx]) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i])._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i])._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i*incx])._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i*incx])._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i]) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i*incx]) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
#endif | |||
/* Common Block Declarations */ | |||
@@ -502,16 +245,16 @@ struct { | |||
static integer c__1 = 1; | |||
static real c_b34 = (float)1.; | |||
/* Main program */ int main () | |||
/* Main program */ int main (void) | |||
{ | |||
/* Initialized data */ | |||
static real sfac = (float)9.765625e-4; | |||
/* Local variables */ | |||
extern /* Subroutine */ int check0_(), check1_(), check2_(), check3_(); | |||
extern /* Subroutine */ int check0_(real*), check1_(real*), check2_(real*), check3_(real*); | |||
static integer ic; | |||
extern /* Subroutine */ int header_(); | |||
extern /* Subroutine */ int header_(void); | |||
/* Test program for the REAL Level 1 CBLAS. */ | |||
/* Based upon the original CBLAS test routine together with: */ | |||
@@ -557,7 +300,7 @@ static real c_b34 = (float)1.; | |||
exit(0); | |||
} /* MAIN__ */ | |||
/* Subroutine */ int header_() | |||
/* Subroutine */ int header_(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -580,8 +323,7 @@ static real c_b34 = (float)1.; | |||
} /* header_ */ | |||
/* Subroutine */ int check0_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check0_(real *sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -600,7 +342,7 @@ real *sfac; | |||
/* Local variables */ | |||
static integer k; | |||
extern /* Subroutine */ int srotgtest_(), stest1_(); | |||
extern /* Subroutine */ int srotgtest_(real*,real*,real*,real*), stest1_(real*,real*,real*,real*); | |||
static real sa, sb, sc, ss; | |||
/* .. Parameters .. */ | |||
@@ -645,8 +387,7 @@ L40: | |||
return 0; | |||
} /* check0_ */ | |||
/* Subroutine */ int check1_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check1_(real* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -692,14 +433,14 @@ real *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern real snrm2test_(); | |||
extern real snrm2test_(int*,real*,int*); | |||
static real stemp[1], strue[8]; | |||
extern /* Subroutine */ int stest_(), sscaltest_(); | |||
extern real sasumtest_(); | |||
extern /* Subroutine */ int itest1_(), stest1_(); | |||
extern /* Subroutine */ int stest_(int*, real*,real*,real*,real*), sscaltest_(int*,real*,real*,int*); | |||
extern real sasumtest_(int*,real*,int*); | |||
extern /* Subroutine */ int itest1_(int*,int*), stest1_(real*,real*,real*,real*); | |||
static real sx[8]; | |||
static integer np1; | |||
extern integer isamaxtest_(); | |||
extern integer isamaxtest_(int*,real*,int*); | |||
static integer len; | |||
@@ -761,8 +502,7 @@ real *sfac; | |||
return 0; | |||
} /* check1_ */ | |||
/* Subroutine */ int check2_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check2_(real* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -850,12 +590,12 @@ real *sfac; | |||
/* Local variables */ | |||
static integer lenx, leny; | |||
extern real sdottest_(); | |||
extern real sdottest_(int*,real*,int*,real*,int*); | |||
static integer i__, j, ksize; | |||
extern /* Subroutine */ int stest_(), scopytest_(), sswaptest_(), | |||
saxpytest_(); | |||
extern /* Subroutine */ int stest_(int*,real*,real*,real*,real*), scopytest_(int*,real*,int*,real*,int*), sswaptest_(int*,real*,int*,real*,int*), | |||
saxpytest_(int*,real*,real*,int*,real*,int*); | |||
static integer ki; | |||
extern /* Subroutine */ int stest1_(); | |||
extern /* Subroutine */ int stest1_(real*,real*,real*,real*); | |||
static integer kn, mx, my; | |||
static real sx[7], sy[7], stx[7], sty[7]; | |||
@@ -936,8 +676,7 @@ real *sfac; | |||
return 0; | |||
} /* check2_ */ | |||
/* Subroutine */ int check3_(sfac) | |||
real *sfac; | |||
/* Subroutine */ int check3_(real* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -969,9 +708,9 @@ real *sfac; | |||
1.17 }; | |||
/* Local variables */ | |||
extern /* Subroutine */ void srottest_(); | |||
extern /* Subroutine */ void srottest_(int*,real*,int*,real*,int*,real*,real*); | |||
static integer i__, k, ksize; | |||
extern /* Subroutine */ int stest_(), srotmtest_(); | |||
extern /* Subroutine */ int stest_(int*,real*,real*,real*,real*), srotmtest_(int*,real*,int*,real*,int*,real*); | |||
static integer ki, kn; | |||
static real sx[19], sy[19], sparam[5], stx[19], sty[19]; | |||
@@ -1042,16 +781,14 @@ real *sfac; | |||
return 0; | |||
} /* check3_ */ | |||
/* Subroutine */ int stest_(len, scomp, strue, ssize, sfac) | |||
integer *len; | |||
real *scomp, *strue, *ssize, *sfac; | |||
/* Subroutine */ int stest_(int* len, real* scomp, real* strue, real* ssize, real* sfac) | |||
{ | |||
integer i__1; | |||
real r__1, r__2, r__3, r__4, r__5; | |||
/* Local variables */ | |||
static integer i__; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(real*,real*); | |||
static real sd; | |||
/* ********************************* STEST ************************** */ | |||
@@ -1107,11 +844,10 @@ L40: | |||
} /* stest_ */ | |||
/* Subroutine */ int stest1_(scomp1, strue1, ssize, sfac) | |||
real *scomp1, *strue1, *ssize, *sfac; | |||
/* Subroutine */ int stest1_(real* scomp1, real* strue1, real* ssize, real* sfac) | |||
{ | |||
static real scomp[1], strue[1]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(int*,real*,real*,real*,real*); | |||
/* ************************* STEST1 ***************************** */ | |||
@@ -1138,8 +874,7 @@ real *scomp1, *strue1, *ssize, *sfac; | |||
return 0; | |||
} /* stest1_ */ | |||
doublereal sdiff_(sa, sb) | |||
real *sa, *sb; | |||
doublereal sdiff_(real* sa, real* sb) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -1153,8 +888,7 @@ real *sa, *sb; | |||
return ret_val; | |||
} /* sdiff_ */ | |||
/* Subroutine */ int itest1_(icomp, itrue) | |||
integer *icomp, *itrue; | |||
/* Subroutine */ int itest1_(integer* icomp, integer* itrue) | |||
{ | |||
/* Local variables */ | |||
static integer id; | |||
@@ -242,255 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
#if 0 | |||
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i]))._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i]))._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i*incx]))._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i*incx]))._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i])) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i*incx])) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotc_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i]))._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i]))._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i*incx]))._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i*incx]))._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i])) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i*incx])) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
static inline void cdotu_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i])._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i])._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i*incx])._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i*incx])._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i]) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i*incx]) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i])._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i])._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i*incx])._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i*incx])._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i]) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i*incx]) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -521,7 +272,7 @@ static integer c_n1 = -1; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -539,16 +290,20 @@ static logical c_false = FALSE_; | |||
static logical same; | |||
static integer ninc, nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int schk1_(), schk2_(), schk3_(), schk4_(), | |||
schk5_(), schk6_(); | |||
extern /* Subroutine */ int schk1_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk2_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk3_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk4_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, integer*, integer*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk5_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, integer*, integer*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk6_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, real* z__, integer* iorder, ftnlen sname_len); | |||
static real a[4225] /* was [65][65] */, g[65]; | |||
static integer i__, j, n; | |||
static logical fatal; | |||
static real x[65], y[65], z__[130]; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(real*, real*); | |||
static logical trace; | |||
static integer nidim; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static char snaps[32], trans[1]; | |||
static integer isnum; | |||
static logical ltest[16]; | |||
@@ -564,12 +319,12 @@ static logical c_false = FALSE_; | |||
static logical rorder; | |||
static integer layout; | |||
static logical ltestt; | |||
extern /* Subroutine */ int cs2chke_(); | |||
extern /* Subroutine */ int cs2chke_(char*, ftnlen); | |||
static logical tsterr; | |||
static real alf[7]; | |||
static integer inc[7], nkb; | |||
static real bet[7]; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real eps, err; | |||
char tmpchar; | |||
@@ -1098,21 +853,7 @@ L240: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int schk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk1_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, real* alf, integer* nbet, real* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1130,24 +871,25 @@ ftnlen sname_len; | |||
static integer i__, m, n; | |||
static real alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static integer incxs, incys; | |||
static char trans[1]; | |||
static integer ia, ib, ic; | |||
static logical banded; | |||
static integer nc, nd, im, in, kl, ml, nk, nl, ku, ix, iy, ms, lx, ly, ns; | |||
extern /* Subroutine */ int csgbmv_(), csgemv_(); | |||
extern /* Subroutine */ void csgbmv_(integer*, char*, integer*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ void csgemv_(integer*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen); | |||
static char ctrans[14]; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lseres_(char* type__, char* uplo, integer* m, integer* n, real* aa, real* as, integer* lda, ftnlen ltype_len, ftnlen uplo_len); | |||
static real transl; | |||
static char transs[1]; | |||
static integer laa, lda; | |||
static real als, bls; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
static integer iku, kls, kus; | |||
@@ -1552,21 +1294,7 @@ L140: | |||
} /* schk1_ */ | |||
/* Subroutine */ int schk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk2_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, real* alf, integer* nbet, real* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1585,9 +1313,9 @@ ftnlen sname_len; | |||
static integer i__, k, n; | |||
static real alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
@@ -1598,13 +1326,14 @@ ftnlen sname_len; | |||
static logical packed; | |||
static integer nk, ks, ix, iy, ns, lx, ly; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern /* Subroutine */ int cssbmv_(); | |||
extern logical lseres_(char* , char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cssbmv_(integer*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen); | |||
static real transl; | |||
extern /* Subroutine */ int csspmv_(), cssymv_(); | |||
extern /* Subroutine */ void csspmv_(integer*, char*, integer*, real*, real*, real*, integer*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ void cssymv_(integer*, char*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen); | |||
static integer laa, lda; | |||
static real als, bls; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SSYMV, SSBMV and SSPMV. */ | |||
@@ -2003,17 +1732,7 @@ L130: | |||
} /* schk2_ */ | |||
/* Subroutine */ int schk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, xt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *xt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk3_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* xt, real* g, real* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2034,9 +1753,9 @@ ftnlen sname_len; | |||
static integer i__, k, n; | |||
static char diags[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs; | |||
@@ -2047,14 +1766,17 @@ ftnlen sname_len; | |||
static integer nk, ks, ix, ns, lx; | |||
static char ctrans[14]; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern /* Subroutine */ int cstbmv_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstbmv_(integer*, char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
static real transl; | |||
extern /* Subroutine */ int cstbsv_(); | |||
extern /* Subroutine */ void cstbsv_(integer*, char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char transs[1]; | |||
extern /* Subroutine */ int cstpmv_(), cstrmv_(), cstpsv_(), cstrsv_(); | |||
extern /* Subroutine */ void cstpmv_(integer*, char*, char*, char*, integer*, real*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstrmv_(integer*, char*, char*, char*, integer*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstpsv_(integer*, char*, char*, char*, integer*, real*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstrsv_(integer*, char*, char*, char*, integer*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer laa, icd, lda, ict, icu; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests STRMV, STBMV, STPMV, STRSV, STBSV and STPSV. */ | |||
@@ -2508,19 +2230,7 @@ L130: | |||
} /* schk3_ */ | |||
/* Subroutine */ int schk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk4_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, real* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6; | |||
@@ -2533,17 +2243,18 @@ ftnlen sname_len; | |||
static integer i__, j, m, n; | |||
static real alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(), csger_(); | |||
/* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void csger_(integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, integer*); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static integer incxs, incys, ia, nc, nd, im, in, ms, ix, iy, ns, lx, ly; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lseres_(char* , char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
static real transl; | |||
static integer laa, lda; | |||
static real als; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SGER. */ | |||
@@ -2848,19 +2559,7 @@ L150: | |||
} /* schk4_ */ | |||
/* Subroutine */ int schk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk5_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, real* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2880,25 +2579,25 @@ ftnlen sname_len; | |||
static integer i__, j, n; | |||
static real alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs; | |||
extern /* Subroutine */ int csspr_(); | |||
extern /* Subroutine */ void csspr_(integer*, char*, integer*, real*, real*, integer*, real*, ftnlen); | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ int cssyr_(); | |||
extern /* Subroutine */ void cssyr_(integer*, char*, integer*, real*, real*, integer*, real*, integer*, ftnlen); | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
static logical packed; | |||
static integer ix, ns, lx; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
static real transl; | |||
static integer laa, lda; | |||
static real als; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SSYR and SSPR. */ | |||
@@ -3218,19 +2917,7 @@ L130: | |||
} /* schk5_ */ | |||
/* Subroutine */ int schk6_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
real *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt, *g, *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk6_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, real* a, real* aa, real* as, real* x, real* xx, real* xs, real* y, real* yy, real* ys, real* yt, real* g, real* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -3249,26 +2936,26 @@ ftnlen sname_len; | |||
static integer i__, j, n; | |||
static real alpha, w[2]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, integer*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int smvch_(); | |||
extern /* Subroutine */ int smvch_(char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, real*, real*, logical*, integer*, logical*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ja, ic; | |||
extern /* Subroutine */ int csspr2_(); | |||
extern /* Subroutine */ void csspr2_(integer*, char*, integer*, real*, real*, integer*, real*, integer*, real*, ftnlen); | |||
static integer nc, jj, lj, in; | |||
static logical packed; | |||
extern /* Subroutine */ int cssyr2_(); | |||
extern /* Subroutine */ void cssyr2_(integer*, char*, integer*, real*, real*, integer*, real*, integer*, real*, integer*, ftnlen); | |||
static integer ix, iy, ns, lx, ly; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lseres_(char* type__, char* uplo, integer* m, integer* n, real* aa, real* as, integer* lda, ftnlen ltype_len, ftnlen uplo_len); | |||
static real transl; | |||
static integer laa, lda; | |||
static real als; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SSYR2 and SSPR2. */ | |||
@@ -3634,26 +3321,14 @@ L170: | |||
} /* schk6_ */ | |||
/* Subroutine */ int smake_(type__, uplo, diag, m, n, a, nmax, aa, lda, kl, | |||
ku, reset, transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
real *a; | |||
integer *nmax; | |||
real *aa; | |||
integer *lda, *kl, *ku; | |||
logical *reset; | |||
real *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
{ | |||
/* Subroutine */ int smake_(char* type__, char* uplo, char* diag, integer* m, integer* n, real* a, integer* nmax, real* aa, integer* lda, integer* kl, integer* ku, logical* reset, real* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4; | |||
/* Local variables */ | |||
static integer ibeg, iend; | |||
extern doublereal sbeg_(); | |||
extern doublereal sbeg_(logical*); | |||
static integer ioff; | |||
static logical unit; | |||
static integer i__, j; | |||
@@ -3879,28 +3554,14 @@ ftnlen diag_len; | |||
} /* smake_ */ | |||
/* Subroutine */ int smvch_(trans, m, n, alpha, a, nmax, x, incx, beta, y, | |||
incy, yt, g, yy, eps, err, fatal, nout, mv, trans_len) | |||
char *trans; | |||
integer *m, *n; | |||
real *alpha, *a; | |||
integer *nmax; | |||
real *x; | |||
integer *incx; | |||
real *beta, *y; | |||
integer *incy; | |||
real *yt, *g, *yy, *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen trans_len; | |||
/* Subroutine */ int smvch_(char* trans, integer* m, integer* n, real* alpha, real* a, integer* nmax, real* x, integer* incx, real* beta, real* y, integer* incy, real* yt, real* g, real* yy, real* eps, real* err, logical* fatal, integer* nout, logical* mv, ftnlen trans_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2; | |||
real r__1; | |||
/* Builtin functions */ | |||
double sqrt(); | |||
double sqrt(double); | |||
/* Local variables */ | |||
static real erri; | |||
@@ -4029,9 +3690,7 @@ L70: | |||
} /* smvch_ */ | |||
logical lse_(ri, rj, lr) | |||
real *ri, *rj; | |||
integer *lr; | |||
logical lse_(real* ri, real* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -4076,13 +3735,7 @@ L30: | |||
} /* lse_ */ | |||
logical lseres_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
real *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lseres_(char* type__, char* uplo, integer* m, integer* n, real* aa, real* as, integer* lda, ftnlen ltype_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2; | |||
@@ -4169,8 +3822,7 @@ L80: | |||
} /* lseres_ */ | |||
doublereal sbeg_(reset) | |||
logical *reset; | |||
doublereal sbeg_(logical* reset) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -4221,8 +3873,7 @@ L10: | |||
} /* sbeg_ */ | |||
doublereal sdiff_(x, y) | |||
real *x, *y; | |||
doublereal sdiff_(real* x, real* y) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -242,129 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -393,7 +270,7 @@ static logical c_true = TRUE_; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program MAIN__() */ int main() | |||
/* Main program MAIN__() */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -402,26 +279,25 @@ static logical c_false = FALSE_; | |||
/* System generated locals */ | |||
integer i__1, i__2, i__3; | |||
real r__1; | |||
/* Builtin functions */ | |||
integer s_rsle(), do_lio(), e_rsle(), f_open(), s_wsfe(), do_fio(), | |||
e_wsfe(), s_wsle(), e_wsle(), s_rsfe(), e_rsfe(); | |||
integer f_clos(); | |||
/* Local variables */ | |||
static integer nalf, idim[9]; | |||
static logical same; | |||
static integer nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int schk1_(), schk2_(), schk3_(), schk4_(), | |||
schk5_(); | |||
extern /* Subroutine */ int schk1_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, real*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk2_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, real*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk3_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk4_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, real*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
extern /* Subroutine */ int schk5_(char*, real*, real*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, real*, integer*, real*, integer*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, real*, integer*, ftnlen); | |||
static real c__[4225] /* was [65][65] */, g[65]; | |||
static integer i__, j, n; | |||
static logical fatal; | |||
static real w[130]; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(real*, real*); | |||
static logical trace; | |||
static integer nidim; | |||
extern /* Subroutine */ int smmch_(); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static char snaps[32]; | |||
static integer isnum; | |||
static logical ltest[6]; | |||
@@ -433,9 +309,9 @@ static logical c_false = FALSE_; | |||
static logical rorder; | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
extern /* Subroutine */ int cs3chke_(); | |||
extern /* Subroutine */ void cs3chke_(char*, ftnlen); | |||
static real alf[7], bet[7]; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real eps, err; | |||
char tmpchar; | |||
@@ -899,21 +775,7 @@ L230: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int schk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *nmax; | |||
real *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk1_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* nbet, real* bet, integer* nmax, real* a, real* aa, real* as, real* b, real* bb, real* bs, real* c__, real* cc, real* cs, real* ct, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -923,8 +785,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5, i__6; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static real beta; | |||
@@ -936,18 +796,17 @@ ftnlen sname_len; | |||
static logical trana, tranb; | |||
static integer nargs; | |||
static logical reset; | |||
extern /* Subroutine */ void sprcn1_(); | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smmch_(); | |||
extern /* Subroutine */ void sprcn1_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, integer*, real*, integer*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static integer ia, ib, ma, mb, na, nb, nc, ik, im, in, ks, ms, ns; | |||
extern /* Subroutine */ int csgemm_(); | |||
extern /* Subroutine */ void csgemm_(integer*, char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
static char tranas[1], tranbs[1], transa[1], transb[1]; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lse_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern logical lse_(real*, real*, integer*); | |||
static integer ica, icb, laa, lbb, lda, lcc, ldb, ldc; | |||
static real als, bls; | |||
extern logical lse_(); | |||
static real err; | |||
/* Tests SGEMM. */ | |||
@@ -1278,23 +1137,8 @@ L130: | |||
/* Subroutine */ void sprcn1_(nout, nc, sname, iorder, transa, transb, m, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, transa_len, transb_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *transa, *transb; | |||
integer *m, *n, *k; | |||
real *alpha; | |||
integer *lda, *ldb; | |||
real *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ void sprcn1_(integer* nout, integer* nc, char* sname, integer* iorder, char* transa, char* transb, integer* m, integer* n, integer* k, real* alpha, integer* lda, integer* ldb, real* beta, integer* ldc, ftnlen sname_len, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char crc[14], cta[14], ctb[14]; | |||
@@ -1324,21 +1168,7 @@ ftnlen transb_len; | |||
} /* sprcn1_ */ | |||
/* Subroutine */ int schk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *nmax; | |||
real *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk2_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* nbet, real* bet, integer* nmax, real* a, real* aa, real* as, real* b, real* bb, real* bs, real* c__, real* cc, real* cs, real* ct, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1349,8 +1179,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static real beta; | |||
@@ -1368,15 +1196,15 @@ ftnlen sname_len; | |||
static char uplos[1]; | |||
static integer ia, ib, na, nc, im, in, ms, ns; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern /* Subroutine */ int cssymm_(); | |||
extern void sprcn2_(); | |||
extern int smake_(); | |||
extern int smmch_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cssymm_(integer*, char*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern void sprcn2_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, real*, integer*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static integer laa, lbb, lda, lcc, ldb, ldc, ics; | |||
static real als, bls; | |||
static integer icu; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SSYMM. */ | |||
@@ -1685,23 +1513,8 @@ L120: | |||
} /* schk2_ */ | |||
/* Subroutine */ void sprcn2_(nout, nc, sname, iorder, side, uplo, m, n, alpha, | |||
lda, ldb, beta, ldc, sname_len, side_len, uplo_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo; | |||
integer *m, *n; | |||
real *alpha; | |||
integer *lda, *ldb; | |||
real *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
/* Subroutine */ void sprcn2_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, integer* m, integer* n, real* alpha, integer* lda, integer* ldb, real* beta, integer* ldc, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char cs[14], cu[14], crc[14]; | |||
@@ -1726,19 +1539,7 @@ ftnlen uplo_len; | |||
} /* sprcn2_ */ | |||
/* Subroutine */ int schk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nmax, a, aa, as, b, bb, bs, ct, g, c__, | |||
iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *nmax; | |||
real *a, *aa, *as, *b, *bb, *bs, *ct, *g, *c__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk3_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* nmax, real* a, real* aa, real* as, real* b, real* bb, real* bs, real* ct, real* g, real* c__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1751,8 +1552,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static char diag[1]; | |||
@@ -1769,18 +1568,19 @@ ftnlen sname_len; | |||
static integer nargs; | |||
static logical reset; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void sprcn3_(); | |||
extern /* Subroutine */ void sprcn3_(integer*, integer*, char*, integer*, char*, char*, char*, char*, integer*, integer*, real*, integer*, integer*, ftnlen , ftnlen, ftnlen, ftnlen, ftnlen); | |||
static integer ia, na, nc, im, in, ms, ns; | |||
static char tranas[1], transa[1]; | |||
static real errmax; | |||
extern int smake_(); | |||
extern int smmch_(); | |||
extern logical lseres_(); | |||
extern /* Subroutine */ int cstrmm_(), cstrsm_(); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstrmm_(integer*, char*, char*, char*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cstrsm_(integer*, char*, char*, char*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static integer laa, icd, lbb, lda, ldb, ics; | |||
static real als; | |||
static integer ict, icu; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests STRMM and STRSM. */ | |||
@@ -2155,24 +1955,8 @@ L160: | |||
} /* schk3_ */ | |||
/* Subroutine */ void sprcn3_(nout, nc, sname, iorder, side, uplo, transa, | |||
diag, m, n, alpha, lda, ldb, sname_len, side_len, uplo_len, | |||
transa_len, diag_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo, *transa, *diag; | |||
integer *m, *n; | |||
real *alpha; | |||
integer *lda, *ldb; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ void sprcn3_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, char* transa, char* diag, integer* m, integer* n, real* alpha, integer* lda, integer* ldb, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cd[14], cs[14], cu[14], crc[14]; | |||
@@ -2210,21 +1994,7 @@ ftnlen diag_len; | |||
} /* sprcn3_ */ | |||
/* Subroutine */ int schk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *nmax; | |||
real *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct, *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk4_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* nbet, real* bet, integer* nmax, real* a, real* aa, real* as, real* b, real* bb, real* bs, real* c__, real* cc, real* cs, real* ct, real* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2235,8 +2005,6 @@ ftnlen sname_len; | |||
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, | |||
i__3, i__4, i__5; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static real beta; | |||
@@ -2253,18 +2021,18 @@ ftnlen sname_len; | |||
static char trans[1]; | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ void sprcn4_(); | |||
extern /* Subroutine */ int smake_(); | |||
extern /* Subroutine */ int smmch_(); | |||
extern /* Subroutine */ void sprcn4_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static integer ia, ib, jc, ma, na, nc, ik, in, jj, lj, ks, ns; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
static char transs[1]; | |||
extern /* Subroutine */ int cssyrk_(); | |||
extern /* Subroutine */ void cssyrk_(integer*, char*, char*, integer*, integer*, real*, real*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
static integer laa, lda, lcc, ldc; | |||
static real als; | |||
static integer ict, icu; | |||
extern logical lse_(); | |||
extern logical lse_(real*, real*, integer*); | |||
static real err; | |||
/* Tests SSYRK. */ | |||
@@ -2575,23 +2343,8 @@ L130: | |||
} /* schk4_ */ | |||
/* Subroutine */ void sprcn4_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
real *alpha; | |||
integer *lda; | |||
real *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ void sprcn4_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, real* alpha, integer* lda, real* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -2619,21 +2372,7 @@ ftnlen transa_len; | |||
} /* sprcn4_ */ | |||
/* Subroutine */ int schk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, ab, aa, as, bb, bs, | |||
c__, cc, cs, ct, g, w, iorder, sname_len) | |||
char *sname; | |||
real *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
real *alf; | |||
integer *nbet; | |||
real *bet; | |||
integer *nmax; | |||
real *ab, *aa, *as, *bb, *bs, *c__, *cc, *cs, *ct, *g, *w; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int schk5_(char* sname, real* eps, real* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, real* alf, integer* nbet, real* bet, integer* nmax, real* ab, real* aa, real* as, real* bb, real* bs, real* c__, real* cc, real* cs, real* ct, real* g, real* w, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2643,8 +2382,6 @@ ftnlen sname_len; | |||
/* System generated locals */ | |||
integer c_dim1, c_offset, i__1, i__2, i__3, i__4, i__5, i__6, i__7, i__8; | |||
/* Builtin functions */ | |||
integer f_rew(), s_wsfe(), e_wsfe(), do_fio(); | |||
/* Local variables */ | |||
static integer jjab; | |||
@@ -2663,18 +2400,18 @@ ftnlen sname_len; | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ib; | |||
extern /* Subroutine */ void sprcn5_(); | |||
extern /* Subroutine */ void sprcn5_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, real*, integer*, integer*, real*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer jc, ma, na, nc, ik, in, jj, lj, ks, ns; | |||
static real errmax; | |||
extern logical lseres_(); | |||
extern int smake_(); | |||
extern logical lseres_(char*, char*, integer*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ int smake_(char*, char*, char*, integer*, integer*, real*, integer*, real*, integer*, logical*, real*, ftnlen, ftnlen, ftnlen); | |||
static char transs[1]; | |||
static integer laa, lbb, lda, lcc, ldb, ldc; | |||
static real als; | |||
static integer ict, icu; | |||
extern /* Subroutine */ int cssyr2k_(); | |||
extern logical lse_(); | |||
extern int smmch_(); | |||
extern /* Subroutine */ void cssyr2k_(integer*, char*, char*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, ftnlen, ftnlen); | |||
extern logical lse_(real*, real*, integer*); | |||
extern /* Subroutine */ int smmch_(char*, char*, integer*, integer*, integer*, real*, real*, integer*, real*, integer*, real*, real*, integer*, real*, real*, real*, integer*, real*, real*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static real err; | |||
/* Tests SSYR2K. */ | |||
@@ -3037,23 +2774,8 @@ L160: | |||
} /* schk5_ */ | |||
/* Subroutine */ void sprcn5_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
real *alpha; | |||
integer *lda, *ldb; | |||
real *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ void sprcn5_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, real* alpha, integer* lda, integer* ldb, real* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Builtin functions */ | |||
integer s_wsfe(), do_fio(), e_wsfe(); | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -3081,19 +2803,7 @@ ftnlen transa_len; | |||
} /* sprcn5_ */ | |||
/* Subroutine */ int smake_(type__, uplo, diag, m, n, a, nmax, aa, lda, reset, | |||
transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
real *a; | |||
integer *nmax; | |||
real *aa; | |||
integer *lda; | |||
logical *reset; | |||
real *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int smake_(char* type__, char* uplo, char* diag, integer* m, integer* n, real* a, integer* nmax, real* aa, integer* lda, logical* reset, real* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2; | |||
@@ -3102,7 +2812,7 @@ ftnlen diag_len; | |||
/* Local variables */ | |||
static integer ibeg, iend; | |||
extern doublereal sbeg_(); | |||
extern doublereal sbeg_(logical*); | |||
static logical unit; | |||
static integer i__, j; | |||
static logical lower, upper, gen, tri, sym; | |||
@@ -3233,25 +2943,7 @@ ftnlen diag_len; | |||
} /* smake_ */ | |||
/* Subroutine */ int smmch_(transa, transb, m, n, kk, alpha, a, lda, b, ldb, | |||
beta, c__, ldc, ct, g, cc, ldcc, eps, err, fatal, nout, mv, | |||
transa_len, transb_len) | |||
char *transa, *transb; | |||
integer *m, *n, *kk; | |||
real *alpha, *a; | |||
integer *lda; | |||
real *b; | |||
integer *ldb; | |||
real *beta, *c__; | |||
integer *ldc; | |||
real *ct, *g, *cc; | |||
integer *ldcc; | |||
real *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ int smmch_(char* transa, char* transb, integer* m, integer* n, integer* kk, real* alpha, real* a, integer* lda, real* b, integer* ldb, real* beta, real* c__, integer* ldc, real* ct, real* g, real* cc, integer* ldcc, real* eps, real* err, logical* fatal, integer* nout, logical* mv, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* System generated locals */ | |||
@@ -3260,8 +2952,7 @@ ftnlen transb_len; | |||
real r__1, r__2; | |||
/* Builtin functions */ | |||
double sqrt(); | |||
integer s_wsfe(), e_wsfe(), do_fio(); | |||
double sqrt(double); | |||
/* Local variables */ | |||
static real erri; | |||
@@ -3426,9 +3117,7 @@ L150: | |||
} /* smmch_ */ | |||
logical lse_(ri, rj, lr) | |||
real *ri, *rj; | |||
integer *lr; | |||
logical lse_(real* ri, real* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
@@ -3475,13 +3164,7 @@ L30: | |||
} /* lse_ */ | |||
logical lseres_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
real *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lseres_(char* type__, char* uplo, integer* m, integer* n, real* aa, real* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2; | |||
@@ -3572,8 +3255,7 @@ L80: | |||
} /* lseres_ */ | |||
doublereal sbeg_(reset) | |||
logical *reset; | |||
doublereal sbeg_(logical* reset) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -3625,8 +3307,7 @@ L10: | |||
} /* sbeg_ */ | |||
doublereal sdiff_(x, y) | |||
real *x, *y; | |||
doublereal sdiff_(real* x, real* y) | |||
{ | |||
/* System generated locals */ | |||
real ret_val; | |||
@@ -242,250 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
#if 0 | |||
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i]))._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i]))._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conjf(Cf(&x[i*incx]))._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conjf(Cf(&x[i*incx]))._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i])) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conjf(Cf(&x[i*incx])) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotc_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i]))._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i]))._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += conj(Cd(&x[i*incx]))._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += conj(Cd(&x[i*incx]))._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i])) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += conj(Cd(&x[i*incx])) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
static inline void cdotu_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Fcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i])._Val[0] * Cf(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i])._Val[1] * Cf(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cf(&x[i*incx])._Val[0] * Cf(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cf(&x[i*incx])._Val[1] * Cf(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#else | |||
_Complex float zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i]) * Cf(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cf(&x[i*incx]) * Cf(&y[i*incy]); | |||
} | |||
} | |||
pCf(z) = zdotc; | |||
} | |||
#endif | |||
static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) { | |||
integer n = *n_, incx = *incx_, incy = *incy_, i; | |||
#ifdef _MSC_VER | |||
_Dcomplex zdotc = {0.0, 0.0}; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i])._Val[0] * Cd(&y[i])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i])._Val[1] * Cd(&y[i])._Val[1]; | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc._Val[0] += Cd(&x[i*incx])._Val[0] * Cd(&y[i*incy])._Val[0]; | |||
zdotc._Val[1] += Cd(&x[i*incx])._Val[1] * Cd(&y[i*incy])._Val[1]; | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#else | |||
_Complex double zdotc = 0.0; | |||
if (incx == 1 && incy == 1) { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i]) * Cd(&y[i]); | |||
} | |||
} else { | |||
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */ | |||
zdotc += Cd(&x[i*incx]) * Cd(&y[i*incy]); | |||
} | |||
} | |||
pCd(z) = zdotc; | |||
} | |||
#endif | |||
#endif | |||
/* Common Block Declarations */ | |||
@@ -502,16 +258,16 @@ static integer c__1 = 1; | |||
static integer c__5 = 5; | |||
static doublereal c_b43 = 1.; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
static doublereal sfac = 9.765625e-4; | |||
/* Local variables */ | |||
extern /* Subroutine */ int check1_(), check2_(); | |||
extern /* Subroutine */ int check1_(doublereal*), check2_(doublereal*); | |||
static integer ic; | |||
extern /* Subroutine */ int header_(); | |||
extern /* Subroutine */ int header_(void); | |||
/* Test program for the COMPLEX*16 Level 1 CBLAS. */ | |||
/* Based upon the original CBLAS test routine together with: */ | |||
@@ -551,7 +307,7 @@ static doublereal c_b43 = 1.; | |||
exit(0); | |||
} /* MAIN__ */ | |||
/* Subroutine */ int header_() | |||
/* Subroutine */ int header_(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -570,8 +326,7 @@ static doublereal c_b43 = 1.; | |||
} /* header_ */ | |||
/* Subroutine */ int check1_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check1_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -623,15 +378,15 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
extern /* Subroutine */ int ctest_(); | |||
extern /* Subroutine */ int ctest_(int*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*); | |||
static doublecomplex mwpcs[5], mwpct[5]; | |||
extern /* Subroutine */ int zscaltest_(), itest1_(), stest1_(); | |||
extern /* Subroutine */ int zscaltest_(int*, doublereal*, doublecomplex*, int*), itest1_(int*, int*), stest1_(doublereal*, doublereal*, doublereal*, doublereal*); | |||
static doublecomplex cx[8]; | |||
extern doublereal dznrm2test_(); | |||
extern doublereal dznrm2test_(integer*, doublecomplex*, integer*); | |||
static integer np1; | |||
extern /* Subroutine */ int zdscaltest_(); | |||
extern integer izamaxtest_(); | |||
extern doublereal dzasumtest_(); | |||
extern /* Subroutine */ int zdscaltest_(integer*, doublereal*, doublecomplex*, integer*); | |||
extern integer izamaxtest_(integer*, doublecomplex*, integer*); | |||
extern doublereal dzasumtest_(integer*, doublecomplex*, integer*); | |||
static integer len; | |||
/* .. Parameters .. */ | |||
@@ -748,8 +503,7 @@ doublereal *sfac; | |||
return 0; | |||
} /* check1_ */ | |||
/* Subroutine */ int check2_(sfac) | |||
doublereal *sfac; | |||
/* Subroutine */ int check2_(doublereal* sfac) | |||
{ | |||
/* Initialized data */ | |||
@@ -834,14 +588,14 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static doublecomplex cdot[1]; | |||
static integer lenx, leny, i__; | |||
extern /* Subroutine */ int ctest_(); | |||
extern /* Subroutine */ int ctest_(int*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*); | |||
static integer ksize; | |||
static doublecomplex ztemp; | |||
extern /* Subroutine */ int zdotctest_(), zcopytest_(); | |||
extern /* Subroutine */ int zdotctest_(int*, doublecomplex*, int*, doublecomplex*, int*, doublecomplex*), zcopytest_(int*, doublecomplex*, int*, doublecomplex*, int*); | |||
static integer ki; | |||
extern /* Subroutine */ int zdotutest_(), zswaptest_(); | |||
extern /* Subroutine */ int zdotutest_(int*, doublecomplex*, int*, doublecomplex*, int*, doublecomplex*), zswaptest_(int*, doublecomplex*, int*, doublecomplex*, int*); | |||
static integer kn; | |||
extern /* Subroutine */ int zaxpytest_(); | |||
extern /* Subroutine */ int zaxpytest_(int*, doublereal*, doublecomplex*, int*, doublecomplex*, int*); | |||
static doublecomplex cx[7], cy[7]; | |||
static integer mx, my; | |||
@@ -923,20 +677,18 @@ doublereal *sfac; | |||
return 0; | |||
} /* check2_ */ | |||
/* Subroutine */ int stest_(len, scomp, strue, ssize, sfac) | |||
integer *len; | |||
doublereal *scomp, *strue, *ssize, *sfac; | |||
/* Subroutine */ int stest_(integer* len, doublereal* scomp, doublereal* strue, doublereal* ssize, doublereal* sfac) | |||
{ | |||
/* System generated locals */ | |||
integer i__1; | |||
doublereal d__1, d__2, d__3, d__4, d__5; | |||
/* Builtin functions */ | |||
integer s_wsfe(), e_wsfe(), do_fio(); | |||
integer s_wsfe(void), e_wsfe(void), do_fio(void); | |||
/* Local variables */ | |||
static integer i__; | |||
extern doublereal sdiff_(); | |||
extern doublereal sdiff_(doublereal*, doublereal*); | |||
static doublereal sd; | |||
/* ********************************* STEST ************************** */ | |||
@@ -992,11 +744,10 @@ L40: | |||
} /* stest_ */ | |||
/* Subroutine */ int stest1_(scomp1, strue1, ssize, sfac) | |||
doublereal *scomp1, *strue1, *ssize, *sfac; | |||
/* Subroutine */ int stest1_(doublereal* scomp1, doublereal* strue1, doublereal* ssize, doublereal* sfac) | |||
{ | |||
static doublereal scomp[1], strue[1]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(int*,doublereal*, doublereal*, doublereal*, doublereal*); | |||
/* ************************* STEST1 ***************************** */ | |||
@@ -1023,8 +774,7 @@ doublereal *scomp1, *strue1, *ssize, *sfac; | |||
return 0; | |||
} /* stest1_ */ | |||
doublereal sdiff_(sa, sb) | |||
doublereal *sa, *sb; | |||
doublereal sdiff_(doublereal* sa, doublereal* sb) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -1038,10 +788,7 @@ doublereal *sa, *sb; | |||
return ret_val; | |||
} /* sdiff_ */ | |||
/* Subroutine */ int ctest_(len, ccomp, ctrue, csize, sfac) | |||
integer *len; | |||
doublecomplex *ccomp, *ctrue, *csize; | |||
doublereal *sfac; | |||
/* Subroutine */ int ctest_(integer* len, doublecomplex* ccomp, doublecomplex* ctrue, doublecomplex* csize, doublereal* sfac) | |||
{ | |||
/* System generated locals */ | |||
integer i__1, i__2; | |||
@@ -1049,7 +796,7 @@ doublereal *sfac; | |||
/* Local variables */ | |||
static integer i__; | |||
static doublereal scomp[20], ssize[20], strue[20]; | |||
extern /* Subroutine */ int stest_(); | |||
extern /* Subroutine */ int stest_(integer*, doublereal*, doublereal*, doublereal*, doublereal*); | |||
/* **************************** CTEST ***************************** */ | |||
@@ -1087,8 +834,7 @@ doublereal *sfac; | |||
return 0; | |||
} /* ctest_ */ | |||
/* Subroutine */ int itest1_(icomp, itrue) | |||
integer *icomp, *itrue; | |||
/* Subroutine */ int itest1_(integer* icomp, integer* itrue) | |||
{ | |||
static integer id; | |||
@@ -242,129 +242,6 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* -- translated by f2c (version 20000121). | |||
You must link the resulting object file with the libraries: | |||
-lf2c -lm (in that order) | |||
*/ | |||
/* Common Block Declarations */ | |||
@@ -396,7 +273,7 @@ static integer c_n1 = -1; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program */ int main() | |||
/* Main program */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -414,19 +291,23 @@ static logical c_false = FALSE_; | |||
static logical same; | |||
static integer ninc, nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int zchk1_(), zchk2_(), zchk3_(), zchk4_(), | |||
zchk5_(), zchk6_(); | |||
extern /* Subroutine */ int zchk1_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk2_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk3_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk4_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk5_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk6_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
static doublecomplex a[4225] /* was [65][65] */; | |||
static doublereal g[65]; | |||
static integer i__, j; | |||
extern doublereal ddiff_(); | |||
extern doublereal ddiff_(doublereal*, doublereal*); | |||
static integer n; | |||
static logical fatal; | |||
static doublecomplex x[65], y[65], z__[130]; | |||
static logical trace; | |||
static integer nidim; | |||
static char snaps[32], trans[1]; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer isnum; | |||
static logical ltest[17]; | |||
static doublecomplex aa[4225]; | |||
@@ -441,12 +322,12 @@ static logical c_false = FALSE_; | |||
static logical rorder; | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
extern /* Subroutine */ int cz2chke_(); | |||
extern /* Subroutine */ void cz2chke_(char*, ftnlen); | |||
static doublecomplex alf[7]; | |||
static integer inc[7], nkb; | |||
static doublecomplex bet[7]; | |||
static doublereal eps, err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
char tmpchar; | |||
/* Test program for the DOUBLE PRECISION COMPLEX Level 2 Blas. */ | |||
@@ -984,22 +865,7 @@ L240: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int zchk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
doublereal *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk1_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* y, doublecomplex* yy, doublecomplex* ys, doublecomplex* yt, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1018,27 +884,27 @@ ftnlen sname_len; | |||
static integer i__, m, n; | |||
static doublecomplex alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys; | |||
static char trans[1]; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer ia, ib, ic; | |||
static logical banded; | |||
static integer nc, nd, im, in, kl, ml, nk, nl, ku, ix, iy, ms, lx, ly, ns; | |||
extern /* Subroutine */ int czgbmv_(); | |||
extern /* Subroutine */ void czgbmv_(integer*, char*, integer*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen); | |||
static char ctrans[14]; | |||
extern /* Subroutine */ int czgemv_(); | |||
extern /* Subroutine */ void czgemv_(integer*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen); | |||
static doublereal errmax; | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static char transs[1]; | |||
static integer laa, lda; | |||
static doublecomplex als, bls; | |||
static doublereal err; | |||
static integer iku, kls; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
static integer kus; | |||
@@ -1451,22 +1317,7 @@ L140: | |||
} /* zchk1_ */ | |||
/* Subroutine */ int zchk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, | |||
incmax, a, aa, as, x, xx, xs, y, yy, ys, yt, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
doublereal *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk2_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* y, doublecomplex* yy, doublecomplex* ys, doublecomplex* yt, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1486,27 +1337,28 @@ ftnlen sname_len; | |||
static integer i__, k, n; | |||
static doublecomplex alpha; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static char uplos[1]; | |||
static integer ia, ib, ic; | |||
static logical banded; | |||
static integer nc, ik, in; | |||
static logical packed; | |||
static integer nk, ks, ix, iy, ns, lx, ly; | |||
extern /* Subroutine */ int czhbmv_(), czhemv_(); | |||
extern /* Subroutine */ void czhbmv_(integer*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ void czhemv_(integer*, char*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen); | |||
static doublereal errmax; | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern /* Subroutine */ int czhpmv_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void czhpmv_(integer*, char*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen); | |||
static integer laa, lda; | |||
static doublecomplex als, bls; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests CHEMV, CHBMV and CHPMV. */ | |||
@@ -1909,19 +1761,7 @@ L130: | |||
} /* zchk2_ */ | |||
/* Subroutine */ int zchk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nkb, kb, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, xt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nkb, *kb, *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *xt; | |||
doublereal *g; | |||
doublecomplex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk3_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nkb, integer* kb, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* xt, doublereal* g, doublecomplex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1942,13 +1782,13 @@ ftnlen sname_len; | |||
static integer i__, k, n; | |||
static char diags[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs; | |||
static char trans[1]; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static char uplos[1]; | |||
static logical banded; | |||
static integer nc, ik, in; | |||
@@ -1957,14 +1797,17 @@ ftnlen sname_len; | |||
static char ctrans[14]; | |||
static doublereal errmax; | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern /* Subroutine */ int cztbmv_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztbmv_(integer*, char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static char transs[1]; | |||
extern /* Subroutine */ int cztbsv_(), cztpmv_(), cztrmv_(), cztpsv_(), | |||
cztrsv_(); | |||
extern /* Subroutine */ void cztbsv_(integer*, char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztpmv_(integer*, char*, char*, char*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztpsv_(integer*, char*, char*, char*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztrmv_(integer*, char*, char*, char*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztrsv_(integer*, char*, char*, char*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer laa, icd, lda, ict, icu; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
@@ -2422,21 +2265,7 @@ L130: | |||
} /* zchk3_ */ | |||
/* Subroutine */ int zchk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
doublereal *g; | |||
doublecomplex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk4_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* y, doublecomplex* yy, doublecomplex* ys, doublecomplex* yt, doublereal* g, doublecomplex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6, i__7; | |||
@@ -2450,21 +2279,21 @@ ftnlen sname_len; | |||
static integer i__, j, m, n; | |||
static doublecomplex alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static integer incxs, incys; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static integer ia, nc, nd, im, in, ms, ix, iy, ns, lx, ly; | |||
extern /* Subroutine */ int czgerc_(); | |||
extern /* Subroutine */ void czgerc_(integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, integer*); | |||
static doublereal errmax; | |||
extern /* Subroutine */ int czgeru_(); | |||
extern /* Subroutine */ void czgeru_(integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, integer*); | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lda; | |||
static doublecomplex als; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
@@ -2793,21 +2622,7 @@ L150: | |||
} /* zchk4_ */ | |||
/* Subroutine */ int zchk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
doublereal *g; | |||
doublecomplex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk5_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* y, doublecomplex* yy, doublecomplex* ys, doublecomplex* yt, doublereal* g, doublecomplex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2827,13 +2642,14 @@ ftnlen sname_len; | |||
static integer i__, j, n; | |||
static doublecomplex alpha, w[1]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int czher_(); | |||
extern /* Subroutine */ void czher_(integer*, char*, integer*, doublereal*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen); | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs; | |||
extern /* Subroutine */ int czhpr_(), zmvch_(); | |||
extern /* Subroutine */ void czhpr_(integer*, char*, integer*, doublereal*, doublecomplex*, integer*, doublecomplex*, ftnlen); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
@@ -2841,10 +2657,10 @@ ftnlen sname_len; | |||
static integer ix, ns, lx; | |||
static doublereal ralpha, errmax; | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lda; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZHER and ZHPR. */ | |||
@@ -3167,21 +2983,7 @@ L130: | |||
} /* zchk5_ */ | |||
/* Subroutine */ int zchk6_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, | |||
xx, xs, y, yy, ys, yt, g, z__, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *ninc, *inc, *nmax, *incmax; | |||
doublecomplex *a, *aa, *as, *x, *xx, *xs, *y, *yy, *ys, *yt; | |||
doublereal *g; | |||
doublecomplex *z__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk6_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* ninc, integer* inc, integer* nmax, integer* incmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* x, doublecomplex* xx, doublecomplex* xs, doublecomplex* y, doublecomplex* yy, doublecomplex* ys, doublecomplex* yt, doublereal* g, doublecomplex* z__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -3201,25 +3003,26 @@ ftnlen sname_len; | |||
static integer i__, j, n; | |||
static doublecomplex alpha, w[2]; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, integer*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
static logical reset; | |||
static char cuplo[14]; | |||
static integer incxs, incys; | |||
extern /* Subroutine */ int zmvch_(); | |||
extern /* Subroutine */ int zmvch_(char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen); | |||
static logical upper; | |||
static char uplos[1]; | |||
extern /* Subroutine */ int czher2_(), czhpr2_(); | |||
extern /* Subroutine */ void czher2_(integer*, char*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ void czhpr2_(integer*, char*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, ftnlen); | |||
static integer ia, ja, ic, nc, jj, lj, in; | |||
static logical packed; | |||
static integer ix, iy, ns, lx, ly; | |||
static doublereal errmax; | |||
static doublecomplex transl; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lda; | |||
static doublecomplex als; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZHER2 and ZHPR2. */ | |||
@@ -3604,24 +3407,7 @@ L170: | |||
} /* zchk6_ */ | |||
/* Subroutine */ int zmvch_(trans, m, n, alpha, a, nmax, x, incx, beta, y, | |||
incy, yt, g, yy, eps, err, fatal, nout, mv, trans_len) | |||
char *trans; | |||
integer *m, *n; | |||
doublecomplex *alpha, *a; | |||
integer *nmax; | |||
doublecomplex *x; | |||
integer *incx; | |||
doublecomplex *beta, *y; | |||
integer *incy; | |||
doublecomplex *yt; | |||
doublereal *g; | |||
doublecomplex *yy; | |||
doublereal *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen trans_len; | |||
/* Subroutine */ int zmvch_(char* trans, integer* m, integer* n, doublecomplex* alpha, doublecomplex* a, integer* nmax, doublecomplex* x, integer* incx, doublecomplex* beta, doublecomplex* y, integer* incy, doublecomplex* yt, doublereal* g, doublecomplex* yy, doublereal* eps, doublereal* err, logical* fatal, integer* nout, logical* mv, ftnlen trans_len) | |||
{ | |||
/* System generated locals */ | |||
@@ -3819,9 +3605,7 @@ L80: | |||
} /* zmvch_ */ | |||
logical lze_(ri, rj, lr) | |||
doublecomplex *ri, *rj; | |||
integer *lr; | |||
logical lze_(doublecomplex* ri, doublecomplex* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1, i__2, i__3; | |||
@@ -3868,13 +3652,7 @@ L30: | |||
} /* lze_ */ | |||
logical lzeres_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
doublecomplex *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lzeres_(char* type__, char* uplo, integer* m, integer* n, doublecomplex* aa, doublecomplex* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2, i__3, i__4; | |||
@@ -3967,9 +3745,7 @@ L80: | |||
} /* lzeres_ */ | |||
/* Double Complex */ VOID zbeg_( ret_val, reset) | |||
doublecomplex * ret_val; | |||
logical *reset; | |||
/* Double Complex */ VOID zbeg_( doublecomplex* ret_val, logical* reset) | |||
{ | |||
/* System generated locals */ | |||
doublereal d__1, d__2; | |||
@@ -4030,8 +3806,7 @@ L10: | |||
} /* zbeg_ */ | |||
doublereal ddiff_(x, y) | |||
doublereal *x, *y; | |||
doublereal ddiff_(doublereal* x, doublereal* y) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||
@@ -4051,19 +3826,7 @@ doublereal *x, *y; | |||
} /* ddiff_ */ | |||
/* Subroutine */ int zmake_(type__, uplo, diag, m, n, a, nmax, aa, lda, kl, | |||
ku, reset, transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
doublecomplex *a; | |||
integer *nmax; | |||
doublecomplex *aa; | |||
integer *lda, *kl, *ku; | |||
logical *reset; | |||
doublecomplex *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int zmake_(char* type__, char* uplo, char* diag, integer* m, integer* n, doublecomplex* a, integer* nmax, doublecomplex* aa, integer* lda, integer* kl, integer* ku, logical* reset, doublecomplex* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4; | |||
@@ -4072,7 +3835,7 @@ ftnlen diag_len; | |||
/* Local variables */ | |||
static integer ibeg, iend, ioff; | |||
extern /* Double Complex */ VOID zbeg_(); | |||
extern /* Double Complex */ VOID zbeg_(doublecomplex*, logical*); | |||
static logical unit; | |||
static integer i__, j; | |||
static logical lower; | |||
@@ -22,14 +22,11 @@ typedef double doublereal; | |||
typedef struct { real r, i; } complex; | |||
typedef struct { doublereal r, i; } doublecomplex; | |||
#ifdef _MSC_VER | |||
static inline _Fcomplex Cf(complex *z) {_Fcomplex zz={z->r , z->i}; return zz;} | |||
static inline _Dcomplex Cd(doublecomplex *z) {_Dcomplex zz={z->r , z->i};return zz;} | |||
static inline _Fcomplex * _pCf(complex *z) {return (_Fcomplex*)z;} | |||
static inline _Dcomplex * _pCd(doublecomplex *z) {return (_Dcomplex*)z;} | |||
#else | |||
static inline _Complex float Cf(complex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex double Cd(doublecomplex *z) {return z->r + z->i*_Complex_I;} | |||
static inline _Complex float * _pCf(complex *z) {return (_Complex float*)z;} | |||
static inline _Complex double * _pCd(doublecomplex *z) {return (_Complex double*)z;} | |||
#endif | |||
#define pCf(z) (*_pCf(z)) | |||
@@ -242,124 +239,7 @@ typedef struct Namelist Namelist; | |||
/* procedure parameter types for -A and -C++ */ | |||
#define F2C_proc_par_types 1 | |||
#ifdef __cplusplus | |||
typedef logical (*L_fp)(...); | |||
#else | |||
typedef logical (*L_fp)(); | |||
#endif | |||
#if 0 | |||
static float spow_ui(float x, integer n) { | |||
float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static double dpow_ui(double x, integer n) { | |||
double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#ifdef _MSC_VER | |||
static _Fcomplex cpow_ui(complex x, integer n) { | |||
complex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x.r = 1/x.r, x.i=1/x.i; | |||
for(u = n; ; ) { | |||
if(u & 01) pow.r *= x.r, pow.i *= x.i; | |||
if(u >>= 1) x.r *= x.r, x.i *= x.i; | |||
else break; | |||
} | |||
} | |||
_Fcomplex p={pow.r, pow.i}; | |||
return p; | |||
} | |||
#else | |||
static _Complex float cpow_ui(_Complex float x, integer n) { | |||
_Complex float pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
#ifdef _MSC_VER | |||
static _Dcomplex zpow_ui(_Dcomplex x, integer n) { | |||
_Dcomplex pow={1.0,0.0}; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x._Val[0] = 1/x._Val[0], x._Val[1] =1/x._Val[1]; | |||
for(u = n; ; ) { | |||
if(u & 01) pow._Val[0] *= x._Val[0], pow._Val[1] *= x._Val[1]; | |||
if(u >>= 1) x._Val[0] *= x._Val[0], x._Val[1] *= x._Val[1]; | |||
else break; | |||
} | |||
} | |||
_Dcomplex p = {pow._Val[0], pow._Val[1]}; | |||
return p; | |||
} | |||
#else | |||
static _Complex double zpow_ui(_Complex double x, integer n) { | |||
_Complex double pow=1.0; unsigned long int u; | |||
if(n != 0) { | |||
if(n < 0) n = -n, x = 1/x; | |||
for(u = n; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
#endif | |||
static integer pow_ii(integer x, integer n) { | |||
integer pow; unsigned long int u; | |||
if (n <= 0) { | |||
if (n == 0 || x == 1) pow = 1; | |||
else if (x != -1) pow = x == 0 ? 1/x : 0; | |||
else n = -n; | |||
} | |||
if ((n > 0) || !(n == 0 || x == 1 || x != -1)) { | |||
u = n; | |||
for(pow = 1; ; ) { | |||
if(u & 01) pow *= x; | |||
if(u >>= 1) x *= x; | |||
else break; | |||
} | |||
} | |||
return pow; | |||
} | |||
static integer dmaxloc_(double *w, integer s, integer e, integer *n) | |||
{ | |||
double m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
static integer smaxloc_(float *w, integer s, integer e, integer *n) | |||
{ | |||
float m; integer i, mi; | |||
for(m=w[s-1], mi=s, i=s+1; i<=e; i++) | |||
if (w[i-1]>m) mi=i ,m=w[i-1]; | |||
return mi-s+1; | |||
} | |||
#endif | |||
/* Common Block Declarations */ | |||
@@ -388,7 +268,7 @@ static logical c_true = TRUE_; | |||
static integer c__0 = 0; | |||
static logical c_false = FALSE_; | |||
/* Main program MAIN__() */ int main() | |||
/* Main program MAIN__() */ int main(void) | |||
{ | |||
/* Initialized data */ | |||
@@ -400,26 +280,29 @@ static logical c_false = FALSE_; | |||
doublereal d__1; | |||
/* Builtin functions */ | |||
integer s_rsle(), do_lio(), e_rsle(), f_open(), s_wsfe(), do_fio(), | |||
e_wsfe(), s_wsle(), e_wsle(), s_rsfe(), e_rsfe(); | |||
integer s_rsle(void), do_lio(void), e_rsle(void), f_open(void), s_wsfe(void), do_fio(void), | |||
e_wsfe(void), s_wsle(void), e_wsle(void), s_rsfe(void), e_rsfe(void); | |||
/* Local variables */ | |||
static integer nalf, idim[9]; | |||
static logical same; | |||
static integer nbet, ntra; | |||
static logical rewi; | |||
extern /* Subroutine */ int zchk1_(), zchk2_(), zchk3_(), zchk4_(), | |||
zchk5_(); | |||
extern /* Subroutine */ int zchk1_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk2_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk3_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk4_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, integer*, ftnlen); | |||
extern /* Subroutine */ int zchk5_(char*, doublereal*, doublereal*, integer*, integer*, logical*, logical*, logical*, integer*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublecomplex*, doublereal*, doublecomplex*, integer*, ftnlen); | |||
static doublecomplex c__[4225] /* was [65][65] */; | |||
static doublereal g[65]; | |||
static integer i__, j; | |||
extern doublereal ddiff_(); | |||
extern doublereal ddiff_(doublereal*, doublereal*); | |||
static integer n; | |||
static logical fatal; | |||
static doublecomplex w[130]; | |||
static logical trace; | |||
static integer nidim; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static char snaps[32]; | |||
static integer isnum; | |||
static logical ltest[9]; | |||
@@ -431,10 +314,10 @@ static logical c_false = FALSE_; | |||
static logical rorder; | |||
static integer layout; | |||
static logical ltestt, tsterr; | |||
extern /* Subroutine */ int cz3chke_(); | |||
extern /* Subroutine */ int cz3chke_(char*, ftnlen); | |||
static doublecomplex alf[7], bet[7]; | |||
static doublereal eps, err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
char tmpchar; | |||
/* Test program for the COMPLEX*16 Level 3 Blas. */ | |||
@@ -924,22 +807,7 @@ L230: | |||
} /* MAIN__ */ | |||
/* Subroutine */ int zchk1_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *nmax; | |||
doublecomplex *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct; | |||
doublereal *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk1_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* nmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* b, doublecomplex* bb, doublecomplex* bs, doublecomplex* c__, doublecomplex* cc, doublecomplex* cs, doublecomplex* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -956,21 +824,21 @@ ftnlen sname_len; | |||
static integer i__, k, m, n; | |||
static doublecomplex alpha; | |||
static logical isame[13], trana, tranb; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical reset; | |||
static integer ia, ib; | |||
extern /* Subroutine */ int zprcn1_(); | |||
extern /* Subroutine */ int zprcn1_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, integer*, doublecomplex*, integer*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ma, mb, na, nb, nc, ik, im, in, ks, ms, ns; | |||
extern /* Subroutine */ int czgemm_(); | |||
extern /* Subroutine */ void czgemm_(integer*, char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static char tranas[1], tranbs[1], transa[1], transb[1]; | |||
static doublereal errmax; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer ica, icb, laa, lbb, lda, lcc, ldb, ldc; | |||
static doublecomplex als, bls; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZGEMM. */ | |||
@@ -1313,20 +1181,7 @@ L130: | |||
} /* zchk1_ */ | |||
/* Subroutine */ int zprcn1_(nout, nc, sname, iorder, transa, transb, m, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, transa_len, transb_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *transa, *transb; | |||
integer *m, *n, *k; | |||
doublecomplex *alpha; | |||
integer *lda, *ldb; | |||
doublecomplex *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ int zprcn1_(integer* nout, integer* nc, char* sname, integer* iorder, char* transa, char* transb, integer* m, integer* n, integer* k, doublecomplex* alpha, integer* lda, integer* ldb, doublecomplex* beta, integer* ldc, ftnlen sname_len, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* Local variables */ | |||
static char crc[14], cta[14], ctb[14]; | |||
@@ -1357,22 +1212,7 @@ return 0; | |||
} /* zprcn1_ */ | |||
/* Subroutine */ int zchk2_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *nmax; | |||
doublecomplex *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct; | |||
doublereal *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk2_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* nmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* b, doublecomplex* bb, doublecomplex* bs, doublecomplex* c__, doublecomplex* cc, doublecomplex* cs, doublecomplex* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1394,23 +1234,23 @@ ftnlen sname_len; | |||
static doublecomplex alpha; | |||
static logical isame[13]; | |||
static char sides[1]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical reset; | |||
static char uplos[1]; | |||
static integer ia, ib; | |||
extern /* Subroutine */ int zprcn2_(); | |||
extern /* Subroutine */ int zprcn2_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublecomplex*, integer*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer na, nc, im, in, ms, ns; | |||
extern /* Subroutine */ int czhemm_(); | |||
extern /* Subroutine */ void czhemm_(integer*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
extern logical lzeres_(); | |||
extern /* Subroutine */ int czsymm_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void czsymm_(integer*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lbb, lda, lcc, ldb, ldc, ics; | |||
static doublecomplex als, bls; | |||
static integer icu; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZHEMM and ZSYMM. */ | |||
@@ -1737,20 +1577,7 @@ L120: | |||
} /* zchk2_ */ | |||
/* Subroutine */ int zprcn2_(nout, nc, sname, iorder, side, uplo, m, n, alpha, | |||
lda, ldb, beta, ldc, sname_len, side_len, uplo_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo; | |||
integer *m, *n; | |||
doublecomplex *alpha; | |||
integer *lda, *ldb; | |||
doublecomplex *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
/* Subroutine */ int zprcn2_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, integer* m, integer* n, doublecomplex* alpha, integer* lda, integer* ldb, doublecomplex* beta, integer* ldc, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len) | |||
{ | |||
/* Local variables */ | |||
static char cs[14], cu[14], crc[14]; | |||
@@ -1777,21 +1604,7 @@ return 0; | |||
} /* zprcn2_ */ | |||
/* Subroutine */ int zchk3_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nmax, a, aa, as, b, bb, bs, ct, g, c__, | |||
iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *nmax; | |||
doublecomplex *a, *aa, *as, *b, *bb, *bs, *ct; | |||
doublereal *g; | |||
doublecomplex *c__; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk3_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* nmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* b, doublecomplex* bb, doublecomplex* bs, doublecomplex* ct, doublereal* g, doublecomplex* c__, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -1817,23 +1630,24 @@ ftnlen sname_len; | |||
static char diags[1]; | |||
static logical isame[13]; | |||
static char sides[1]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static logical reset; | |||
static char uplos[1]; | |||
static integer ia, na; | |||
extern /* Subroutine */ int zprcn3_(); | |||
extern /* Subroutine */ int zprcn3_(integer*, integer*, char*, integer*, char*, char*, char*, char*, integer*, integer*, doublecomplex*, integer*, integer*, ftnlen, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static integer nc, im, in, ms, ns; | |||
static char tranas[1], transa[1]; | |||
static doublereal errmax; | |||
extern logical lzeres_(); | |||
extern /* Subroutine */ int cztrmm_(), cztrsm_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztrmm_(integer*, char*, char*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ void cztrsm_(integer*, char*, char*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen, ftnlen); | |||
static integer laa, icd, lbb, lda, ldb, ics; | |||
static doublecomplex als; | |||
static integer ict, icu; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZTRMM and ZTRSM. */ | |||
@@ -2227,21 +2041,7 @@ L160: | |||
} /* zchk3_ */ | |||
/* Subroutine */ int zprcn3_(nout, nc, sname, iorder, side, uplo, transa, | |||
diag, m, n, alpha, lda, ldb, sname_len, side_len, uplo_len, | |||
transa_len, diag_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *side, *uplo, *transa, *diag; | |||
integer *m, *n; | |||
doublecomplex *alpha; | |||
integer *lda, *ldb; | |||
ftnlen sname_len; | |||
ftnlen side_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int zprcn3_(integer* nout, integer* nc, char* sname, integer* iorder, char* side, char* uplo, char* transa, char* diag, integer* m, integer* n, doublecomplex* alpha, integer* lda, integer* ldb, ftnlen sname_len, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len) | |||
{ | |||
/* Local variables */ | |||
@@ -2281,22 +2081,7 @@ return 0; | |||
} /* zprcn3_ */ | |||
/* Subroutine */ int zchk4_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, a, aa, as, b, bb, bs, | |||
c__, cc, cs, ct, g, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *nmax; | |||
doublecomplex *a, *aa, *as, *b, *bb, *bs, *c__, *cc, *cs, *ct; | |||
doublereal *g; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk4_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* nmax, doublecomplex* a, doublecomplex* aa, doublecomplex* as, doublecomplex* b, doublecomplex* bb, doublecomplex* bs, doublecomplex* c__, doublecomplex* cc, doublecomplex* cs, doublecomplex* ct, doublereal* g, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2320,30 +2105,30 @@ ftnlen sname_len; | |||
static doublecomplex alpha; | |||
static doublereal rbeta; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static doublereal rbets; | |||
static logical reset; | |||
static char trans[1]; | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ib, jc, ma, na; | |||
extern /* Subroutine */ int zprcn4_(); | |||
extern /* Subroutine */ int zprcn4_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer nc; | |||
extern /* Subroutine */ int zprcn6_(); | |||
extern /* Subroutine */ int zprcn6_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublereal*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ik, in, jj, lj, ks, ns; | |||
static doublereal ralpha; | |||
extern /* Subroutine */ int czherk_(); | |||
extern /* Subroutine */ int czherk_(integer*, char*, char*, integer*, integer*, doublereal*, doublecomplex*, integer*, doublereal*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static doublereal errmax; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static char transs[1], transt[1]; | |||
extern /* Subroutine */ int czsyrk_(); | |||
extern /* Subroutine */ int czsyrk_(integer*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lda, lcc, ldc; | |||
static doublecomplex als; | |||
static integer ict, icu; | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZHERK and ZSYRK. */ | |||
@@ -2732,20 +2517,7 @@ L130: | |||
} /* zchk4_ */ | |||
/* Subroutine */ int zprcn4_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublecomplex *alpha; | |||
integer *lda; | |||
doublecomplex *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ int zprcn4_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublecomplex* alpha, integer* lda, doublecomplex* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -2775,20 +2547,7 @@ return 0; | |||
/* Subroutine */ int zprcn6_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublereal *alpha; | |||
integer *lda; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ int zprcn6_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublereal* alpha, integer* lda, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Local variables */ | |||
@@ -2818,23 +2577,7 @@ return 0; | |||
} /* zprcn6_ */ | |||
/* Subroutine */ int zchk5_(sname, eps, thresh, nout, ntra, trace, rewi, | |||
fatal, nidim, idim, nalf, alf, nbet, bet, nmax, ab, aa, as, bb, bs, | |||
c__, cc, cs, ct, g, w, iorder, sname_len) | |||
char *sname; | |||
doublereal *eps, *thresh; | |||
integer *nout, *ntra; | |||
logical *trace, *rewi, *fatal; | |||
integer *nidim, *idim, *nalf; | |||
doublecomplex *alf; | |||
integer *nbet; | |||
doublecomplex *bet; | |||
integer *nmax; | |||
doublecomplex *ab, *aa, *as, *bb, *bs, *c__, *cc, *cs, *ct; | |||
doublereal *g; | |||
doublecomplex *w; | |||
integer *iorder; | |||
ftnlen sname_len; | |||
/* Subroutine */ int zchk5_(char* sname, doublereal* eps, doublereal* thresh, integer* nout, integer* ntra, logical* trace, logical* rewi, logical* fatal, integer* nidim, integer* idim, integer* nalf, doublecomplex* alf, integer* nbet, doublecomplex* bet, integer* nmax, doublecomplex* ab, doublecomplex* aa, doublecomplex* as, doublecomplex* bb, doublecomplex* bs, doublecomplex* c__, doublecomplex* cc, doublecomplex* cs, doublecomplex* ct, doublereal* g, doublecomplex* w, integer* iorder, ftnlen sname_len) | |||
{ | |||
/* Initialized data */ | |||
@@ -2857,27 +2600,28 @@ ftnlen sname_len; | |||
static doublecomplex alpha; | |||
static doublereal rbeta; | |||
static logical isame[13]; | |||
extern /* Subroutine */ int zmake_(); | |||
extern /* Subroutine */ int zmake_(char*, char*, char*, integer*, integer*, doublecomplex*, integer*, doublecomplex*, integer*, logical*, doublecomplex*, ftnlen, ftnlen, ftnlen); | |||
static integer nargs; | |||
extern /* Subroutine */ int zmmch_(); | |||
extern /* Subroutine */ int zmmch_(char*, char*, integer*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, doublereal*, doublecomplex*, integer*, doublereal*, doublereal*, logical*, integer*, logical*, ftnlen, ftnlen); | |||
static doublereal rbets; | |||
static logical reset; | |||
static char trans[1]; | |||
static logical upper; | |||
static char uplos[1]; | |||
static integer ia, ib, jc, ma, na, nc; | |||
extern /* Subroutine */ int zprcn5_(), zprcn7_(); | |||
extern /* Subroutine */ int zprcn5_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublecomplex*, integer*, integer*, doublecomplex*, integer*, ftnlen, ftnlen, ftnlen); | |||
extern /* Subroutine */ int zprcn7_(integer*, integer*, char*, integer*, char*, char*, integer*, integer*, doublecomplex*, integer*, integer*, doublereal*, integer*, ftnlen, ftnlen, ftnlen); | |||
static integer ik, in, jj, lj, ks, ns; | |||
static doublereal errmax; | |||
extern logical lzeres_(); | |||
extern logical lzeres_(char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static char transs[1], transt[1]; | |||
extern /* Subroutine */ int czher2k_(); | |||
extern /* Subroutine */ int czher2k_(integer*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublereal*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static integer laa, lbb, lda, lcc, ldb, ldc; | |||
static doublecomplex als; | |||
static integer ict, icu; | |||
extern /* Subroutine */ int czsyr2k_(); | |||
extern /* Subroutine */ int czsyr2k_(integer*, char*, char*, integer*, integer*, doublecomplex*, doublecomplex*, integer*, doublecomplex*, integer*, doublecomplex*, doublecomplex*, integer*, ftnlen, ftnlen); | |||
static doublereal err; | |||
extern logical lze_(); | |||
extern logical lze_(doublecomplex*, doublecomplex*, integer*); | |||
/* Tests ZHER2K and ZSYR2K. */ | |||
@@ -3349,20 +3093,7 @@ L160: | |||
} /* zchk5_ */ | |||
/* Subroutine */ int zprcn5_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublecomplex *alpha; | |||
integer *lda, *ldb; | |||
doublecomplex *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ int zprcn5_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublecomplex* alpha, integer* lda, integer* ldb, doublecomplex* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Local variables */ | |||
static char ca[14], cu[14], crc[14]; | |||
@@ -3392,20 +3123,7 @@ return 0; | |||
/* Subroutine */ int zprcn7_(nout, nc, sname, iorder, uplo, transa, n, k, | |||
alpha, lda, ldb, beta, ldc, sname_len, uplo_len, transa_len) | |||
integer *nout, *nc; | |||
char *sname; | |||
integer *iorder; | |||
char *uplo, *transa; | |||
integer *n, *k; | |||
doublecomplex *alpha; | |||
integer *lda, *ldb; | |||
doublereal *beta; | |||
integer *ldc; | |||
ftnlen sname_len; | |||
ftnlen uplo_len; | |||
ftnlen transa_len; | |||
/* Subroutine */ int zprcn7_(integer* nout, integer* nc, char* sname, integer* iorder, char* uplo, char* transa, integer* n, integer* k, doublecomplex* alpha, integer* lda, integer* ldb, doublereal* beta, integer* ldc, ftnlen sname_len, ftnlen uplo_len, ftnlen transa_len) | |||
{ | |||
/* Local variables */ | |||
@@ -3435,19 +3153,7 @@ return 0; | |||
} /* zprcn7_ */ | |||
/* Subroutine */ int zmake_(type__, uplo, diag, m, n, a, nmax, aa, lda, reset, | |||
transl, type_len, uplo_len, diag_len) | |||
char *type__, *uplo, *diag; | |||
integer *m, *n; | |||
doublecomplex *a; | |||
integer *nmax; | |||
doublecomplex *aa; | |||
integer *lda; | |||
logical *reset; | |||
doublecomplex *transl; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
ftnlen diag_len; | |||
/* Subroutine */ int zmake_(char* type__, char* uplo, char* diag, integer* m, integer* n, doublecomplex* a, integer* nmax, doublecomplex* aa, integer* lda, logical* reset, doublecomplex* transl, ftnlen type_len, ftnlen uplo_len, ftnlen diag_len) | |||
{ | |||
/* System generated locals */ | |||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4; | |||
@@ -3456,7 +3162,7 @@ ftnlen diag_len; | |||
/* Local variables */ | |||
static integer ibeg, iend; | |||
extern /* Double Complex */ VOID zbeg_(); | |||
extern /* Double Complex */ VOID zbeg_(doublecomplex*, logical*); | |||
static logical unit; | |||
static integer i__, j; | |||
static logical lower, upper; | |||
@@ -3629,27 +3335,7 @@ ftnlen diag_len; | |||
} /* zmake_ */ | |||
/* Subroutine */ int zmmch_(transa, transb, m, n, kk, alpha, a, lda, b, ldb, | |||
beta, c__, ldc, ct, g, cc, ldcc, eps, err, fatal, nout, mv, | |||
transa_len, transb_len) | |||
char *transa, *transb; | |||
integer *m, *n, *kk; | |||
doublecomplex *alpha, *a; | |||
integer *lda; | |||
doublecomplex *b; | |||
integer *ldb; | |||
doublecomplex *beta, *c__; | |||
integer *ldc; | |||
doublecomplex *ct; | |||
doublereal *g; | |||
doublecomplex *cc; | |||
integer *ldcc; | |||
doublereal *eps, *err; | |||
logical *fatal; | |||
integer *nout; | |||
logical *mv; | |||
ftnlen transa_len; | |||
ftnlen transb_len; | |||
/* Subroutine */ int zmmch_(char* transa, char* transb, integer* m, integer* n, integer* kk, doublecomplex* alpha, doublecomplex* a, integer* lda, doublecomplex* b, integer* ldb, doublecomplex* beta, doublecomplex* c__, integer* ldc, doublecomplex* ct, doublereal* g, doublecomplex* cc, integer* ldcc, doublereal* eps, doublereal* err, logical* fatal, integer* nout, logical* mv, ftnlen transa_len, ftnlen transb_len) | |||
{ | |||
/* System generated locals */ | |||
@@ -3658,7 +3344,7 @@ ftnlen transb_len; | |||
doublereal d__1, d__2, d__3, d__4, d__5, d__6; | |||
doublecomplex z__1, z__2, z__3, z__4; | |||
double sqrt(); | |||
double sqrt(double); | |||
/* Local variables */ | |||
static doublereal erri; | |||
static integer i__, j, k; | |||
@@ -4031,9 +3717,7 @@ L250: | |||
} /* zmmch_ */ | |||
logical lze_(ri, rj, lr) | |||
doublecomplex *ri, *rj; | |||
integer *lr; | |||
logical lze_(doublecomplex* ri, doublecomplex* rj, integer* lr) | |||
{ | |||
/* System generated locals */ | |||
integer i__1, i__2, i__3; | |||
@@ -4082,13 +3766,7 @@ L30: | |||
} /* lze_ */ | |||
logical lzeres_(type__, uplo, m, n, aa, as, lda, type_len, uplo_len) | |||
char *type__, *uplo; | |||
integer *m, *n; | |||
doublecomplex *aa, *as; | |||
integer *lda; | |||
ftnlen type_len; | |||
ftnlen uplo_len; | |||
logical lzeres_(char* type__, char* uplo, integer* m, integer* n, doublecomplex *aa, doublecomplex* as, integer* lda, ftnlen type_len, ftnlen uplo_len) | |||
{ | |||
/* System generated locals */ | |||
integer aa_dim1, aa_offset, as_dim1, as_offset, i__1, i__2, i__3, i__4; | |||
@@ -4184,9 +3862,7 @@ L80: | |||
} /* lzeres_ */ | |||
/* Double Complex */ VOID zbeg_( ret_val, reset) | |||
doublecomplex * ret_val; | |||
logical *reset; | |||
/* Double Complex */ VOID zbeg_(doublecomplex* ret_val, logical* reset) | |||
{ | |||
/* System generated locals */ | |||
doublereal d__1, d__2; | |||
@@ -4249,8 +3925,7 @@ L10: | |||
} /* zbeg_ */ | |||
doublereal ddiff_(x, y) | |||
doublereal *x, *y; | |||
doublereal ddiff_(doublereal* x, doublereal* y) | |||
{ | |||
/* System generated locals */ | |||
doublereal ret_val; | |||