| @@ -849,7 +849,7 @@ f"> */ | |||
| /* > \ingroup complexOTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cbbcsd_(char *jobu1, char *jobu2, char *jobv1t, char * | |||
| /* Subroutine */ void cbbcsd_(char *jobu1, char *jobu2, char *jobv1t, char * | |||
| jobv2t, char *trans, integer *m, integer *p, integer *q, real *theta, | |||
| real *phi, complex *u1, integer *ldu1, complex *u2, integer *ldu2, | |||
| complex *v1t, integer *ldv1t, complex *v2t, integer *ldv2t, real * | |||
| @@ -869,14 +869,14 @@ f"> */ | |||
| real thetamin, thetamax; | |||
| logical restart11, restart12, restart21, restart22; | |||
| integer iu1cs, iu2cs; | |||
| extern /* Subroutine */ int slas2_(real *, real *, real *, real *, real *) | |||
| extern /* Subroutine */ void slas2_(real *, real *, real *, real *, real *) | |||
| ; | |||
| integer iu1sn, iu2sn, i__, j; | |||
| real r__; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int clasr_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void clasr_(char *, char *, char *, integer *, | |||
| integer *, real *, real *, complex *, integer *), cswap_(integer *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer maxit; | |||
| @@ -888,12 +888,12 @@ f"> */ | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| real thresh, tolmul; | |||
| extern /* Subroutine */ int mecago_(); | |||
| extern /* Subroutine */ void mecago_(); | |||
| logical lquery; | |||
| real b11bulge; | |||
| logical wantv1t, wantv2t; | |||
| real b12bulge, b21bulge, b22bulge, eps, tol; | |||
| extern /* Subroutine */ int slartgp_(real *, real *, real *, real *, real | |||
| extern /* Subroutine */ void slartgp_(real *, real *, real *, real *, real | |||
| *), slartgs_(real *, real *, real *, real *, real *); | |||
| @@ -966,7 +966,7 @@ f"> */ | |||
| if (*info == 0 && *q == 0) { | |||
| lrworkmin = 1; | |||
| rwork[1] = (real) lrworkmin; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute workspace */ | |||
| @@ -991,9 +991,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CBBCSD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1086,7 +1086,7 @@ f"> */ | |||
| ++(*info); | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| iter = iter + imax - imin; | |||
| @@ -1800,7 +1800,7 @@ f"> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CBBCSD */ | |||
| @@ -742,7 +742,7 @@ f"> */ | |||
| /* > \ingroup complexOTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cbdsqr_(char *uplo, integer *n, integer *ncvt, integer * | |||
| /* Subroutine */ void cbdsqr_(char *uplo, integer *n, integer *ncvt, integer * | |||
| nru, integer *ncc, real *d__, real *e, complex *vt, integer *ldvt, | |||
| complex *u, integer *ldu, complex *c__, integer *ldc, real *rwork, | |||
| integer *info) | |||
| @@ -761,23 +761,23 @@ f"> */ | |||
| real cosl; | |||
| integer isub, iter; | |||
| real unfl, sinl, cosr, smin, smax, sinr; | |||
| extern /* Subroutine */ int slas2_(real *, real *, real *, real *, real *) | |||
| extern /* Subroutine */ void slas2_(real *, real *, real *, real *, real *) | |||
| ; | |||
| real f, g, h__; | |||
| integer i__, j, m; | |||
| real r__; | |||
| extern logical lsame_(char *, char *); | |||
| real oldcs; | |||
| extern /* Subroutine */ int clasr_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void clasr_(char *, char *, char *, integer *, | |||
| integer *, real *, real *, complex *, integer *); | |||
| integer oldll; | |||
| real shift, sigmn, oldsn; | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer maxit; | |||
| real sminl, sigmx; | |||
| logical lower; | |||
| extern /* Subroutine */ int csrot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void csrot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, real *), slasq1_(integer *, real *, | |||
| real *, real *, integer *), slasv2_(real *, real *, real *, real * | |||
| , real *, real *, real *, real *, real *); | |||
| @@ -785,10 +785,11 @@ f"> */ | |||
| integer ll; | |||
| real sn, mu; | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real sminoa; | |||
| extern /* Subroutine */ int slartg_(real *, real *, real *, real *, real * | |||
| extern /* Subroutine */ void slartg_(real *, real *, real *, real *, real * | |||
| ); | |||
| real thresh; | |||
| logical rotate; | |||
| @@ -846,10 +847,10 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CBDSQR", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 1) { | |||
| goto L160; | |||
| @@ -867,7 +868,7 @@ f"> */ | |||
| /* If INFO equals 2, dqds didn't finish, try to finish */ | |||
| if (*info != 2) { | |||
| return 0; | |||
| return; | |||
| } | |||
| *info = 0; | |||
| } | |||
| @@ -1492,7 +1493,7 @@ L200: | |||
| /* L210: */ | |||
| } | |||
| L220: | |||
| return 0; | |||
| return; | |||
| /* End of CBDSQR */ | |||
| @@ -712,7 +712,7 @@ f"> */ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbbrd_(char *vect, integer *m, integer *n, integer *ncc, | |||
| /* Subroutine */ void cgbbrd_(char *vect, integer *m, integer *n, integer *ncc, | |||
| integer *kl, integer *ku, complex *ab, integer *ldab, real *d__, | |||
| real *e, complex *q, integer *ldq, complex *pt, integer *ldpt, | |||
| complex *c__, integer *ldc, complex *work, real *rwork, integer *info) | |||
| @@ -725,11 +725,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer inca; | |||
| real abst; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| integer i__, j, l; | |||
| complex t; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *); | |||
| extern logical lsame_(char *, char *); | |||
| logical wantb, wantc; | |||
| @@ -742,10 +742,11 @@ f"> */ | |||
| complex rb; | |||
| integer ml, nr, mu; | |||
| complex rs; | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), clartg_(complex *, | |||
| complex *, real *, complex *, complex *), xerbla_(char *, integer | |||
| *, ftnlen), clargv_(integer *, complex *, integer *, complex *, | |||
| complex *, real *, complex *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void clargv_(integer *, complex *, integer *, complex *, | |||
| integer *, real *, integer *), clartv_(integer *, complex *, | |||
| integer *, complex *, integer *, real *, complex *, integer *); | |||
| integer kb1, ml0; | |||
| @@ -813,7 +814,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBBRD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Initialize Q and P**H to the unit matrix, if needed */ | |||
| @@ -828,7 +829,7 @@ f"> */ | |||
| /* Quick return if possible. */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| minmn = f2cmin(*m,*n); | |||
| @@ -1237,7 +1238,7 @@ f"> */ | |||
| } | |||
| /* L120: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBBRD */ | |||
| @@ -664,7 +664,7 @@ f"> */ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbcon_(char *norm, integer *n, integer *kl, integer *ku, | |||
| /* Subroutine */ void cgbcon_(char *norm, integer *n, integer *kl, integer *ku, | |||
| complex *ab, integer *ldab, integer *ipiv, real *anorm, real *rcond, | |||
| complex *work, real *rwork, integer *info) | |||
| { | |||
| @@ -681,20 +681,20 @@ f"> */ | |||
| *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int caxpy_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| logical lnoti; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *); | |||
| integer kd, lm, jp, ix; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clatbs_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clatbs_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, integer *, complex *, real *, | |||
| real *, integer *), xerbla_(char * | |||
| , integer *, ftnlen); | |||
| real *, integer *); | |||
| extern int xerbla_(char * , integer *, ftnlen); | |||
| real ainvnm; | |||
| extern /* Subroutine */ int csrscl_(integer *, real *, complex *, integer | |||
| extern /* Subroutine */ void csrscl_(integer *, real *, complex *, integer | |||
| *); | |||
| logical onenrm; | |||
| char normin[1]; | |||
| @@ -739,7 +739,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBCON", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -747,9 +747,9 @@ f"> */ | |||
| *rcond = 0.f; | |||
| if (*n == 0) { | |||
| *rcond = 1.f; | |||
| return 0; | |||
| return; | |||
| } else if (*anorm == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| smlnum = slamch_("Safe minimum"); | |||
| @@ -863,7 +863,7 @@ L10: | |||
| } | |||
| L40: | |||
| return 0; | |||
| return; | |||
| /* End of CGBCON */ | |||
| @@ -674,7 +674,7 @@ f"> */ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbequ_(integer *m, integer *n, integer *kl, integer *ku, | |||
| /* Subroutine */ void cgbequ_(integer *m, integer *n, integer *kl, integer *ku, | |||
| complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real | |||
| *colcnd, real *amax, integer *info) | |||
| { | |||
| @@ -725,7 +725,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBEQU", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -734,7 +734,7 @@ f"> */ | |||
| *rowcnd = 1.f; | |||
| *colcnd = 1.f; | |||
| *amax = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. */ | |||
| @@ -795,7 +795,7 @@ f"> */ | |||
| for (i__ = 1; i__ <= i__1; ++i__) { | |||
| if (r__[i__] == 0.f) { | |||
| *info = i__; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L50: */ | |||
| } | |||
| @@ -872,7 +872,7 @@ f"> */ | |||
| for (j = 1; j <= i__1; ++j) { | |||
| if (c__[j] == 0.f) { | |||
| *info = *m + j; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L110: */ | |||
| } | |||
| @@ -895,7 +895,7 @@ f"> */ | |||
| *colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBEQU */ | |||
| @@ -681,7 +681,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbequb_(integer *m, integer *n, integer *kl, integer * | |||
| /* Subroutine */ void cgbequb_(integer *m, integer *n, integer *kl, integer * | |||
| ku, complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, | |||
| real *colcnd, real *amax, integer *info) | |||
| { | |||
| @@ -732,7 +732,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBEQUB", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible. */ | |||
| @@ -741,7 +741,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *rowcnd = 1.f; | |||
| *colcnd = 1.f; | |||
| *amax = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. Assume SMLNUM is a power of the radix. */ | |||
| @@ -811,7 +811,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| for (i__ = 1; i__ <= i__1; ++i__) { | |||
| if (r__[i__] == 0.f) { | |||
| *info = i__; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L50: */ | |||
| } | |||
| @@ -891,7 +891,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| for (j = 1; j <= i__1; ++j) { | |||
| if (c__[j] == 0.f) { | |||
| *info = *m + j; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L110: */ | |||
| } | |||
| @@ -914,7 +914,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBEQUB */ | |||
| @@ -730,7 +730,7 @@ f"> */ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbrfs_(char *trans, integer *n, integer *kl, integer * | |||
| /* Subroutine */ void cgbrfs_(char *trans, integer *n, integer *kl, integer * | |||
| ku, integer *nrhs, complex *ab, integer *ldab, complex *afb, integer * | |||
| ldafb, integer *ipiv, complex *b, integer *ldb, complex *x, integer * | |||
| ldx, real *ferr, real *berr, complex *work, real *rwork, integer * | |||
| @@ -747,23 +747,24 @@ f"> */ | |||
| real safe1, safe2; | |||
| integer i__, j, k; | |||
| real s; | |||
| extern /* Subroutine */ int cgbmv_(char *, integer *, integer *, integer * | |||
| extern /* Subroutine */ void cgbmv_(char *, integer *, integer *, integer * | |||
| , integer *, complex *, complex *, integer *, complex *, integer * | |||
| , complex *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| integer count; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *); | |||
| integer kk; | |||
| real xk; | |||
| extern real slamch_(char *); | |||
| integer nz; | |||
| real safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), cgbtrs_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgbtrs_( | |||
| char *, integer *, integer *, integer *, integer *, complex *, | |||
| integer *, integer *, complex *, integer *, integer *); | |||
| logical notran; | |||
| @@ -827,7 +828,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBRFS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -839,7 +840,7 @@ f"> */ | |||
| berr[j] = 0.f; | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| if (notran) { | |||
| @@ -1078,7 +1079,7 @@ L100: | |||
| /* L140: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBRFS */ | |||
| @@ -684,7 +684,7 @@ e driver) */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbsv_(integer *n, integer *kl, integer *ku, integer * | |||
| /* Subroutine */ void cgbsv_(integer *n, integer *kl, integer *ku, integer * | |||
| nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer * | |||
| ldb, integer *info) | |||
| { | |||
| @@ -692,9 +692,10 @@ e driver) */ | |||
| integer ab_dim1, ab_offset, b_dim1, b_offset, i__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int cgbtrf_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, integer *, integer *), xerbla_( | |||
| char *, integer *, ftnlen), cgbtrs_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgbtrf_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, integer *, integer *); | |||
| extern int xerbla_( char *, integer *, ftnlen); | |||
| extern void cgbtrs_(char *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, integer *, complex *, | |||
| integer *, integer *); | |||
| @@ -737,7 +738,7 @@ e driver) */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBSV ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute the LU factorization of the band matrix A. */ | |||
| @@ -750,7 +751,7 @@ e driver) */ | |||
| cgbtrs_("No transpose", n, kl, ku, nrhs, &ab[ab_offset], ldab, &ipiv[ | |||
| 1], &b[b_offset], ldb, info); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBSV */ | |||
| @@ -893,7 +893,7 @@ f"> */ | |||
| /* > \ingroup complexGBsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbsvx_(char *fact, char *trans, integer *n, integer *kl, | |||
| /* Subroutine */ void cgbsvx_(char *fact, char *trans, integer *n, integer *kl, | |||
| integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *afb, | |||
| integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__, | |||
| complex *b, integer *ldb, complex *x, integer *ldx, real *rcond, real | |||
| @@ -911,13 +911,13 @@ f"> */ | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| real rcmin, rcmax, anorm; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| logical equil; | |||
| integer j1, j2; | |||
| extern real clangb_(char *, integer *, integer *, integer *, complex *, | |||
| integer *, real *); | |||
| extern /* Subroutine */ int claqgb_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void claqgb_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, real *, real *, real *, real *, | |||
| real *, char *), cgbcon_(char *, integer *, integer *, | |||
| integer *, complex *, integer *, integer *, real *, real *, | |||
| @@ -925,22 +925,22 @@ f"> */ | |||
| real colcnd; | |||
| extern real clantb_(char *, char *, char *, integer *, integer *, complex | |||
| *, integer *, real *); | |||
| extern /* Subroutine */ int cgbequ_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgbequ_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, real *, real *, real *, real *, | |||
| real *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgbrfs_(char *, integer *, integer *, integer | |||
| extern /* Subroutine */ void cgbrfs_(char *, integer *, integer *, integer | |||
| *, integer *, complex *, integer *, complex *, integer *, integer | |||
| *, complex *, integer *, complex *, integer *, real *, real *, | |||
| complex *, real *, integer *), cgbtrf_(integer *, integer | |||
| *, integer *, integer *, complex *, integer *, integer *, integer | |||
| *); | |||
| logical nofact; | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int cgbtrs_(char *, integer *, integer *, integer | |||
| extern /* Subroutine */ void cgbtrs_(char *, integer *, integer *, integer | |||
| *, integer *, complex *, integer *, integer *, complex *, integer | |||
| *, integer *); | |||
| integer infequ; | |||
| @@ -1080,7 +1080,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBSVX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (equil) { | |||
| @@ -1195,7 +1195,7 @@ f"> */ | |||
| } | |||
| rwork[1] = rpvgrw; | |||
| *rcond = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1289,7 +1289,7 @@ f"> */ | |||
| } | |||
| rwork[1] = rpvgrw; | |||
| return 0; | |||
| return; | |||
| /* End of CGBSVX */ | |||
| @@ -1080,7 +1080,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGBsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbsvxx_(char *fact, char *trans, integer *n, integer * | |||
| /* Subroutine */ void cgbsvxx_(char *fact, char *trans, integer *n, integer * | |||
| kl, integer *ku, integer *nrhs, complex *ab, integer *ldab, complex * | |||
| afb, integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__, | |||
| complex *b, integer *ldb, complex *x, integer *ldx, real *rcond, | |||
| @@ -1102,19 +1102,19 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| extern logical lsame_(char *, char *); | |||
| real rcmin, rcmax; | |||
| logical equil; | |||
| extern /* Subroutine */ int claqgb_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void claqgb_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, real *, real *, real *, real *, | |||
| real *, char *); | |||
| real colcnd; | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgbtrf_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgbtrf_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, integer *, integer *); | |||
| logical nofact; | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int cgbtrs_(char *, integer *, integer *, integer | |||
| extern /* Subroutine */ void cgbtrs_(char *, integer *, integer *, integer | |||
| *, integer *, complex *, integer *, integer *, complex *, integer | |||
| *, integer *); | |||
| integer infequ; | |||
| @@ -1123,7 +1123,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| logical notran; | |||
| real smlnum; | |||
| logical rowequ; | |||
| extern /* Subroutine */ int clascl2_(integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl2_(integer *, integer *, real *, | |||
| complex *, integer *), cgbequb_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, real *, real *, real *, real *, | |||
| real *, integer *), cgbrfsx_(char *, char *, integer *, integer *, | |||
| @@ -1270,7 +1270,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBSVXX", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (equil) { | |||
| @@ -1346,7 +1346,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *rpvgrw = cla_gbrpvgrw_(n, kl, ku, info, &ab[ab_offset], ldab, & | |||
| afb[afb_offset], ldafb); | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1379,7 +1379,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBSVXX */ | |||
| @@ -672,7 +672,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbtf2_(integer *m, integer *n, integer *kl, integer *ku, | |||
| /* Subroutine */ void cgbtf2_(integer *m, integer *n, integer *kl, integer *ku, | |||
| complex *ab, integer *ldab, integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -681,7 +681,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), cgeru_(integer *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), cswap_( | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| @@ -728,13 +728,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBTF2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Gaussian elimination with partial pivoting */ | |||
| @@ -827,7 +827,7 @@ f"> */ | |||
| } | |||
| /* L40: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBTF2 */ | |||
| @@ -671,7 +671,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbtrf_(integer *m, integer *n, integer *kl, integer *ku, | |||
| /* Subroutine */ void cgbtrf_(integer *m, integer *n, integer *kl, integer *ku, | |||
| complex *ab, integer *ldab, integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -681,7 +681,7 @@ f"> */ | |||
| /* Local variables */ | |||
| complex temp; | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), cgemm_(char *, char *, integer *, integer *, integer * | |||
| , complex *, complex *, integer *, complex *, integer *, complex * | |||
| , complex *, integer *), cgeru_(integer *, | |||
| @@ -691,11 +691,11 @@ f"> */ | |||
| complex *, integer *); | |||
| complex work13[4160] /* was [65][64] */, work31[4160] /* | |||
| was [65][64] */; | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer i2, i3, j2, j3, k2; | |||
| extern /* Subroutine */ int cgbtf2_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgbtf2_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, integer *, integer *); | |||
| integer jb, nb, ii, jj, jm, ip, jp, km, ju, kv; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| @@ -745,13 +745,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBTRF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Determine the block size for this environment */ | |||
| @@ -1162,7 +1162,7 @@ f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBTRF */ | |||
| @@ -663,7 +663,7 @@ f"> */ | |||
| /* > \ingroup complexGBcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgbtrs_(char *trans, integer *n, integer *kl, integer * | |||
| /* Subroutine */ void cgbtrs_(char *trans, integer *n, integer *kl, integer * | |||
| ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex | |||
| *b, integer *ldb, integer *info) | |||
| { | |||
| @@ -674,7 +674,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j, l; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *), cgeru_(integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *), | |||
| @@ -683,8 +683,8 @@ f"> */ | |||
| integer *, complex *, integer *); | |||
| logical lnoti; | |||
| integer kd, lm; | |||
| extern /* Subroutine */ int clacgv_(integer *, complex *, integer *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clacgv_(integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical notran; | |||
| @@ -730,13 +730,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGBTRS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0 || *nrhs == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| kd = *ku + *kl + 1; | |||
| @@ -851,7 +851,7 @@ f"> */ | |||
| } | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGBTRS */ | |||
| @@ -651,7 +651,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgebak_(char *job, char *side, integer *n, integer *ilo, | |||
| /* Subroutine */ void cgebak_(char *job, char *side, integer *n, integer *ilo, | |||
| integer *ihi, real *scale, integer *m, complex *v, integer *ldv, | |||
| integer *info) | |||
| { | |||
| @@ -662,12 +662,13 @@ f"> */ | |||
| integer i__, k; | |||
| real s; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| logical leftv; | |||
| integer ii; | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical rightv; | |||
| @@ -712,19 +713,19 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEBAK", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(job, "N")) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*ilo == *ihi) { | |||
| @@ -803,7 +804,7 @@ L50: | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEBAK */ | |||
| @@ -686,7 +686,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgebal_(char *job, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgebal_(char *job, integer *n, complex *a, integer *lda, | |||
| integer *ilo, integer *ihi, real *scale, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -699,15 +699,16 @@ f"> */ | |||
| integer i__, j, k, l, m; | |||
| real r__, s; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| real sfmin1, sfmin2, sfmax1, sfmax2, ca; | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| real ra; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern logical sisnan_(real *); | |||
| logical noconv; | |||
| integer ica, ira; | |||
| @@ -743,7 +744,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEBAL", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = 1; | |||
| @@ -909,7 +910,7 @@ L160: | |||
| *info = -3; | |||
| i__2 = -(*info); | |||
| xerbla_("CGEBAL", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| f *= 2.f; | |||
| c__ *= 2.f; | |||
| @@ -971,7 +972,7 @@ L210: | |||
| *ilo = k; | |||
| *ihi = l; | |||
| return 0; | |||
| return; | |||
| /* End of CGEBAL */ | |||
| @@ -715,7 +715,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgebd2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgebd2_(integer *m, integer *n, complex *a, integer *lda, | |||
| real *d__, real *e, complex *tauq, complex *taup, complex *work, | |||
| integer *info) | |||
| { | |||
| @@ -726,11 +726,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| clacgv_(integer *, complex *, integer *), xerbla_(char *, integer | |||
| *, ftnlen); | |||
| clacgv_(integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.1) -- */ | |||
| @@ -766,7 +766,7 @@ f"> */ | |||
| if (*info < 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEBD2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m >= *n) { | |||
| @@ -912,7 +912,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEBD2 */ | |||
| @@ -722,7 +722,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgebrd_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgebrd_(integer *m, integer *n, complex *a, integer *lda, | |||
| real *d__, real *e, complex *tauq, complex *taup, complex *work, | |||
| integer *lwork, integer *info) | |||
| { | |||
| @@ -733,15 +733,15 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer nbmin, iinfo, minmn; | |||
| extern /* Subroutine */ int cgebd2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebd2_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *); | |||
| integer nb; | |||
| extern /* Subroutine */ int clabrd_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void clabrd_(integer *, integer *, integer *, | |||
| complex *, integer *, real *, real *, complex *, complex *, | |||
| complex *, integer *, complex *, integer *); | |||
| integer nx, ws; | |||
| @@ -799,9 +799,9 @@ f"> */ | |||
| if (*info < 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEBRD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -809,7 +809,7 @@ f"> */ | |||
| minmn = f2cmin(*m,*n); | |||
| if (minmn == 0) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| ws = f2cmax(*m,*n); | |||
| @@ -914,7 +914,7 @@ f"> */ | |||
| cgebd2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &d__[i__], &e[i__], & | |||
| tauq[i__], &taup[i__], &work[1], &iinfo); | |||
| work[1].r = (real) ws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEBRD */ | |||
| @@ -635,7 +635,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgecon_(char *norm, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgecon_(char *norm, integer *n, complex *a, integer *lda, | |||
| real *anorm, real *rcond, complex *work, real *rwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -647,7 +647,7 @@ f"> */ | |||
| real scale; | |||
| extern logical lsame_(char *, char *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *); | |||
| real sl; | |||
| integer ix; | |||
| @@ -656,7 +656,7 @@ f"> */ | |||
| real su; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| real ainvnm; | |||
| extern /* Subroutine */ int clatrs_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clatrs_(char *, char *, char *, char *, | |||
| integer *, complex *, integer *, complex *, real *, real *, | |||
| integer *), csrscl_(integer *, | |||
| real *, complex *, integer *); | |||
| @@ -698,7 +698,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGECON", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -706,9 +706,9 @@ f"> */ | |||
| *rcond = 0.f; | |||
| if (*n == 0) { | |||
| *rcond = 1.f; | |||
| return 0; | |||
| return; | |||
| } else if (*anorm == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| smlnum = slamch_("Safe minimum"); | |||
| @@ -773,7 +773,7 @@ L10: | |||
| } | |||
| L20: | |||
| return 0; | |||
| return; | |||
| /* End of CGECON */ | |||
| @@ -648,7 +648,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeequ_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeequ_(integer *m, integer *n, complex *a, integer *lda, | |||
| real *r__, real *c__, real *rowcnd, real *colcnd, real *amax, | |||
| integer *info) | |||
| { | |||
| @@ -694,7 +694,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEEQU", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -703,7 +703,7 @@ f"> */ | |||
| *rowcnd = 1.f; | |||
| *colcnd = 1.f; | |||
| *amax = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. */ | |||
| @@ -759,7 +759,7 @@ f"> */ | |||
| for (i__ = 1; i__ <= i__1; ++i__) { | |||
| if (r__[i__] == 0.f) { | |||
| *info = i__; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L50: */ | |||
| } | |||
| @@ -830,7 +830,7 @@ f"> */ | |||
| for (j = 1; j <= i__1; ++j) { | |||
| if (c__[j] == 0.f) { | |||
| *info = *m + j; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L110: */ | |||
| } | |||
| @@ -853,7 +853,7 @@ f"> */ | |||
| *colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEEQU */ | |||
| @@ -656,7 +656,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeequb_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgeequb_(integer *m, integer *n, complex *a, integer * | |||
| lda, real *r__, real *c__, real *rowcnd, real *colcnd, real *amax, | |||
| integer *info) | |||
| { | |||
| @@ -702,7 +702,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEEQUB", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible. */ | |||
| @@ -711,7 +711,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *rowcnd = 1.f; | |||
| *colcnd = 1.f; | |||
| *amax = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. Assume SMLNUM is a power of the radix. */ | |||
| @@ -776,7 +776,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| for (i__ = 1; i__ <= i__1; ++i__) { | |||
| if (r__[i__] == 0.f) { | |||
| *info = i__; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L50: */ | |||
| } | |||
| @@ -851,7 +851,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| for (j = 1; j <= i__1; ++j) { | |||
| if (c__[j] == 0.f) { | |||
| *info = *m + j; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L110: */ | |||
| } | |||
| @@ -874,7 +874,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEEQUB */ | |||
| @@ -710,7 +710,7 @@ or GE matrices</b> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgees_(char *jobvs, char *sort, L_fp select, integer *n, | |||
| /* Subroutine */ void cgees_(char *jobvs, char *sort, L_fp select, integer *n, | |||
| complex *a, integer *lda, integer *sdim, complex *w, complex *vs, | |||
| integer *ldvs, complex *work, integer *lwork, real *rwork, logical * | |||
| bwork, integer *info) | |||
| @@ -725,7 +725,7 @@ or GE matrices</b> */ | |||
| real s; | |||
| integer icond, ieval; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cgebak_(char *, char *, integer *, integer | |||
| *, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *, | |||
| integer *, integer *, real *, integer *), slabad_(real *, | |||
| @@ -734,18 +734,18 @@ or GE matrices</b> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| real cscale; | |||
| extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunghr_(integer | |||
| *, integer *, integer *, complex *, integer *, complex *, complex | |||
| @@ -844,16 +844,16 @@ or GE matrices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEES ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| *sdim = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -971,7 +971,7 @@ or GE matrices</b> */ | |||
| } | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEES */ | |||
| @@ -752,7 +752,7 @@ f"> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeesx_(char *jobvs, char *sort, L_fp select, char * | |||
| /* Subroutine */ void cgeesx_(char *jobvs, char *sort, L_fp select, char * | |||
| sense, integer *n, complex *a, integer *lda, integer *sdim, complex * | |||
| w, complex *vs, integer *ldvs, real *rconde, real *rcondv, complex * | |||
| work, integer *lwork, real *rwork, logical *bwork, integer *info) | |||
| @@ -765,7 +765,7 @@ f"> */ | |||
| real anrm; | |||
| integer ierr, itau, iwrk, lwrk, i__, icond, ieval; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cgebak_(char *, char *, integer *, integer | |||
| *, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *, | |||
| integer *, integer *, real *, integer *), slabad_(real *, | |||
| @@ -774,25 +774,25 @@ f"> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| real cscale; | |||
| extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *), chseqr_(char *, char *, integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *, integer *), cunghr_(integer *, integer | |||
| *, integer *, complex *, integer *, complex *, complex *, integer | |||
| *, integer *); | |||
| logical wantsb; | |||
| extern /* Subroutine */ int ctrsen_(char *, char *, logical *, integer *, | |||
| extern /* Subroutine */ void ctrsen_(char *, char *, logical *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| real *, real *, complex *, integer *, integer *); | |||
| logical wantse; | |||
| @@ -906,16 +906,16 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEESX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| *sdim = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1054,7 +1054,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEESX */ | |||
| @@ -695,7 +695,7 @@ ices</b> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeev_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| /* Subroutine */ void cgeev_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| integer *lda, complex *w, complex *vl, integer *ldvl, complex *vr, | |||
| integer *ldvr, complex *work, integer *lwork, real *rwork, integer * | |||
| info) | |||
| @@ -711,11 +711,11 @@ ices</b> */ | |||
| char side[1]; | |||
| real anrm; | |||
| integer ierr, itau, iwrk, nout, i__, k; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| extern /* Subroutine */ int cgebak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgebak_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *, | |||
| integer *, integer *, real *, integer *), slabad_(real *, | |||
| real *); | |||
| @@ -723,20 +723,21 @@ ices</b> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| real cscale; | |||
| extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *), clacpy_(char *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| logical select[1]; | |||
| real bignum; | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunghr_(integer | |||
| *, integer *, integer *, complex *, integer *, complex *, complex | |||
| @@ -746,7 +747,7 @@ ices</b> */ | |||
| real smlnum; | |||
| integer hswork, irwork; | |||
| logical lquery, wantvr; | |||
| extern /* Subroutine */ int ctrevc3_(char *, char *, logical *, integer *, | |||
| extern /* Subroutine */ void ctrevc3_(char *, char *, logical *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| integer *, integer *, complex *, integer *, real *, integer *, | |||
| integer *); | |||
| @@ -868,15 +869,15 @@ ices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEEV ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1111,7 +1112,7 @@ L50: | |||
| } | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEEV */ | |||
| @@ -802,7 +802,7 @@ f"> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeevx_(char *balanc, char *jobvl, char *jobvr, char * | |||
| /* Subroutine */ void cgeevx_(char *balanc, char *jobvl, char *jobvr, char * | |||
| sense, integer *n, complex *a, integer *lda, complex *w, complex *vl, | |||
| integer *ldvl, complex *vr, integer *ldvr, integer *ilo, integer *ihi, | |||
| real *scale, real *abnrm, real *rconde, real *rcondv, complex *work, | |||
| @@ -818,12 +818,12 @@ f"> */ | |||
| char side[1]; | |||
| real anrm; | |||
| integer ierr, itau, iwrk, nout, i__, k; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *); | |||
| integer icond; | |||
| extern logical lsame_(char *, char *); | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| extern /* Subroutine */ int cgebak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgebak_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *, | |||
| integer *, integer *, real *, integer *), slabad_(real *, | |||
| real *); | |||
| @@ -831,22 +831,23 @@ f"> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| real cscale; | |||
| extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *), clacpy_(char *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| logical select[1]; | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *); | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunghr_(integer | |||
| *, integer *, integer *, complex *, integer *, complex *, complex | |||
| @@ -860,7 +861,7 @@ f"> */ | |||
| logical wntsne; | |||
| real smlnum; | |||
| logical lquery, wantvr, wntsnn, wntsnv; | |||
| extern /* Subroutine */ int ctrevc3_(char *, char *, logical *, integer *, | |||
| extern /* Subroutine */ void ctrevc3_(char *, char *, logical *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| integer *, integer *, complex *, integer *, real *, integer *, | |||
| integer *); | |||
| @@ -1019,15 +1020,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEEVX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1285,7 +1286,7 @@ L50: | |||
| } | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEEVX */ | |||
| @@ -664,7 +664,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgehd2_(integer *n, integer *ilo, integer *ihi, complex * | |||
| /* Subroutine */ void cgehd2_(integer *n, integer *ilo, integer *ihi, complex * | |||
| a, integer *lda, complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -674,10 +674,10 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -712,7 +712,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEHD2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *ihi - 1; | |||
| @@ -749,7 +749,7 @@ f"> */ | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEHD2 */ | |||
| @@ -686,7 +686,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgehrd_(integer *n, integer *ilo, integer *ihi, complex * | |||
| /* Subroutine */ void cgehrd_(integer *n, integer *ilo, integer *ihi, complex * | |||
| a, integer *lda, complex *tau, complex *work, integer *lwork, integer | |||
| *info) | |||
| { | |||
| @@ -696,11 +696,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer nbmin, iinfo; | |||
| extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *), caxpy_(integer *, | |||
| complex *, complex *, integer *, complex *, integer *), cgehd2_( | |||
| @@ -711,7 +711,7 @@ f"> */ | |||
| integer ib; | |||
| complex ei; | |||
| integer nb, nh; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer nx; | |||
| @@ -771,9 +771,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEHRD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Set elements 1:ILO-1 and IHI:N-1 of TAU to zero */ | |||
| @@ -796,7 +796,7 @@ f"> */ | |||
| nh = *ihi - *ilo + 1; | |||
| if (nh <= 1) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Determine the block size */ | |||
| @@ -913,7 +913,7 @@ f"> */ | |||
| cgehd2_(n, &i__, ihi, &a[a_offset], lda, &tau[1], &work[1], &iinfo); | |||
| work[1].r = (real) lwkopt, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEHRD */ | |||
| @@ -1086,7 +1086,7 @@ f"> */ | |||
| /* > drmac@math.hr. Thank you. */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgejsv_(char *joba, char *jobu, char *jobv, char *jobr, | |||
| /* Subroutine */ void cgejsv_(char *joba, char *jobu, char *jobv, char *jobr, | |||
| char *jobt, char *jobp, integer *m, integer *n, complex *a, integer * | |||
| lda, real *sva, complex *u, integer *ldu, complex *v, integer *ldv, | |||
| complex *cwork, integer *lwork, real *rwork, integer *lrwork, integer | |||
| @@ -1109,24 +1109,24 @@ f"> */ | |||
| p, q; | |||
| logical jracc; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *); | |||
| extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *); | |||
| complex ctemp; | |||
| real entra, small; | |||
| integer iwoff; | |||
| real sfmin; | |||
| logical lsvec; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| real epsln; | |||
| logical rsvec; | |||
| integer lwcon, lwlqf; | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer lwqrf, n1; | |||
| logical l2aber; | |||
| extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *, | |||
| integer *, integer *, complex *, complex *, integer *, real *, | |||
| integer *); | |||
| real condr1, condr2, uscal1, uscal2; | |||
| @@ -1134,53 +1134,54 @@ f"> */ | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| logical l2pert; | |||
| integer lrwqp3; | |||
| extern /* Subroutine */ int clacgv_(integer *, complex *, integer *); | |||
| extern /* Subroutine */ void clacgv_(integer *, complex *, integer *); | |||
| integer nr; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *); | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| real scalem, sconda; | |||
| logical goscal; | |||
| real aatmin; | |||
| extern real slamch_(char *); | |||
| real aatmax; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacpy_( | |||
| char *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *), clapmr_(logical *, integer *, integer *, | |||
| complex *, integer *, integer *); | |||
| logical noscal; | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *); | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *), cpocon_(char *, integer *, complex *, integer *, real *, | |||
| real *, complex *, real *, integer *), csscal_(integer *, | |||
| real *, complex *, integer *), classq_(integer *, complex *, | |||
| integer *, real *, real *), xerbla_(char *, integer *, ftnlen), | |||
| cgesvj_(char *, char *, char *, integer *, integer *, complex *, | |||
| integer *, real *, real *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgesvj_(char *, char *, char *, integer *, integer *, complex *, | |||
| integer *, real *, integer *, complex *, integer *, complex *, | |||
| integer *, real *, integer *, integer *), | |||
| claswp_(integer *, complex *, integer *, integer *, integer *, | |||
| integer *, real *, integer *, integer *); | |||
| extern int claswp_(integer *, complex *, integer *, integer *, integer *, | |||
| integer *, integer *); | |||
| real entrat; | |||
| logical almort; | |||
| complex cdummy[1]; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| real maxprj; | |||
| extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| logical errest; | |||
| integer lrwcon; | |||
| extern /* Subroutine */ int slassq_(integer *, real *, integer *, real *, | |||
| extern /* Subroutine */ void slassq_(integer *, real *, integer *, real *, | |||
| real *); | |||
| logical transp; | |||
| integer minwrk, lwsvdj; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| real rdummy[1]; | |||
| @@ -1784,13 +1785,13 @@ f"> */ | |||
| /* #:( */ | |||
| i__1 = -(*info); | |||
| xerbla_("CGEJSV", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| cwork[1].r = (real) optwrk, cwork[1].i = 0.f; | |||
| cwork[2].r = (real) minwrk, cwork[2].i = 0.f; | |||
| rwork[1] = (real) minrwrk; | |||
| iwork[1] = f2cmax(4,miniwrk); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return for void matrix (Y3K safe) */ | |||
| @@ -1807,7 +1808,7 @@ f"> */ | |||
| rwork[5] = 0.f; | |||
| rwork[6] = 0.f; | |||
| rwork[7] = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Determine whether the matrix U should be M x N or M x M */ | |||
| @@ -1847,7 +1848,7 @@ f"> */ | |||
| *info = -9; | |||
| i__2 = -(*info); | |||
| xerbla_("CGEJSV", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| aaqq = sqrt(aaqq); | |||
| if (aapp < big / aaqq && noscal) { | |||
| @@ -1909,7 +1910,7 @@ f"> */ | |||
| iwork[2] = 0; | |||
| iwork[3] = 0; | |||
| iwork[4] = -1; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Issue warning if denormalized column norms detected. Override the */ | |||
| @@ -1976,7 +1977,7 @@ f"> */ | |||
| rwork[6] = 0.f; | |||
| rwork[7] = 0.f; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| @@ -3547,6 +3548,6 @@ L3302: | |||
| iwork[4] = -1; | |||
| } | |||
| return 0; | |||
| return; | |||
| } /* cgejsv_ */ | |||
| @@ -681,7 +681,7 @@ static integer c__2 = 2; | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelq_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgelq_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *t, integer *tsize, complex *work, integer *lwork, integer * | |||
| info) | |||
| { | |||
| @@ -694,11 +694,11 @@ static integer c__2 = 2; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int cgelqt_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgelqt_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *); | |||
| logical lminws, lquery; | |||
| integer mintsz; | |||
| extern /* Subroutine */ int claswlq_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void claswlq_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *); | |||
| @@ -839,15 +839,15 @@ static integer c__2 = 2; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELQ", &i__1, (ftnlen)5); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (f2cmin(*m,*n) == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* The LQ Decomposition */ | |||
| @@ -861,7 +861,7 @@ static integer c__2 = 2; | |||
| work[1].r = (real) lwreq, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGELQ */ | |||
| @@ -639,7 +639,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelq2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgelq2_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -648,11 +648,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| clacgv_(integer *, complex *, integer *), xerbla_(char *, integer | |||
| *, ftnlen); | |||
| clacgv_(integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.9.0) -- */ | |||
| @@ -685,7 +685,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELQ2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -721,7 +721,7 @@ f"> */ | |||
| clacgv_(&i__2, &a[i__ + i__ * a_dim1], lda); | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGELQ2 */ | |||
| @@ -659,7 +659,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgelqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -667,15 +667,16 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k, nbmin, iinfo; | |||
| extern /* Subroutine */ int cgelq2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelq2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer ib, nb; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer nx; | |||
| extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ldwork, lwkopt; | |||
| @@ -720,9 +721,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELQF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -730,7 +731,7 @@ f"> */ | |||
| k = f2cmin(*m,*n); | |||
| if (k == 0) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -815,7 +816,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGELQF */ | |||
| @@ -630,7 +630,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelqt_(integer *m, integer *n, integer *mb, complex *a, | |||
| /* Subroutine */ void cgelqt_(integer *m, integer *n, integer *mb, complex *a, | |||
| integer *lda, complex *t, integer *ldt, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -638,10 +638,11 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* Local variables */ | |||
| integer i__, k, iinfo, ib; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen), | |||
| cgelqt3_(integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgelqt3_(integer *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *); | |||
| @@ -681,14 +682,14 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELQT", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| k = f2cmin(*m,*n); | |||
| if (k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Blocked loop of length K */ | |||
| @@ -717,7 +718,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| i__ * a_dim1], lda, &work[1], &i__5); | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGELQT */ | |||
| @@ -627,7 +627,7 @@ static complex c_b1 = {1.f,0.f}; | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelqt3_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgelqt3_(integer *m, integer *n, complex *a, integer * | |||
| lda, complex *t, integer *ldt, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -636,16 +636,17 @@ static complex c_b1 = {1.f,0.f}; | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer i1, j1, m1, m2; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.8.0) -- */ | |||
| @@ -679,7 +680,7 @@ static complex c_b1 = {1.f,0.f}; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELQT3", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 1) { | |||
| @@ -793,7 +794,7 @@ static complex c_b1 = {1.f,0.f}; | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGELQT3 */ | |||
| @@ -697,7 +697,7 @@ static integer c__0 = 0; | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgels_(char *trans, integer *m, integer *n, integer * | |||
| /* Subroutine */ void cgels_(char *trans, integer *m, integer *n, integer * | |||
| nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex * | |||
| work, integer *lwork, integer *info) | |||
| { | |||
| @@ -714,24 +714,25 @@ static integer c__0 = 0; | |||
| integer wsize; | |||
| real rwork[1]; | |||
| integer nb; | |||
| extern /* Subroutine */ int slabad_(real *, real *); | |||
| extern /* Subroutine */ void slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer mn; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clascl_( | |||
| char *, integer *, integer *, real *, real *, integer *, integer * | |||
| , complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), claset_( | |||
| char *, integer *, integer *, complex *, complex *, complex *, | |||
| integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer scllen; | |||
| real bignum; | |||
| extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunmqr_(char *, | |||
| char *, integer *, integer *, integer *, complex *, integer *, | |||
| @@ -840,9 +841,9 @@ static integer c__0 = 0; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELS ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -852,7 +853,7 @@ static integer c__0 = 0; | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| i__1 = f2cmax(*m,*n); | |||
| claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -939,7 +940,7 @@ static integer c__0 = 0; | |||
| , lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *n; | |||
| @@ -954,7 +955,7 @@ static integer c__0 = 0; | |||
| a_offset], lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* B(N+1:M,1:NRHS) = ZERO */ | |||
| @@ -1002,7 +1003,7 @@ static integer c__0 = 0; | |||
| , lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* B(M+1:N,1:NRHS) = 0 */ | |||
| @@ -1047,7 +1048,7 @@ static integer c__0 = 0; | |||
| a_offset], lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *m; | |||
| @@ -1077,7 +1078,7 @@ L50: | |||
| r__1 = (real) wsize; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGELS */ | |||
| @@ -744,7 +744,7 @@ f"> */ | |||
| /* > Osni Marques, LBNL/NERSC, USA \n */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelsd_(integer *m, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgelsd_(integer *m, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, complex *b, integer *ldb, real *s, real *rcond, | |||
| integer *rank, complex *work, integer *lwork, real *rwork, integer * | |||
| iwork, integer *info) | |||
| @@ -757,13 +757,13 @@ f"> */ | |||
| integer itau, nlvl, iascl, ibscl; | |||
| real sfmin; | |||
| integer minmn, maxmn, itaup, itauq, mnthr, nwork, ie, il; | |||
| extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *, integer *), slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer mm; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clalsd_( | |||
| char *, integer *, integer *, integer *, real *, real *, complex * | |||
| , integer *, real *, integer *, complex *, real *, integer *, | |||
| @@ -771,13 +771,14 @@ f"> */ | |||
| real *, integer *, integer *, complex *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), slaset_( | |||
| @@ -785,7 +786,7 @@ f"> */ | |||
| complex *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *, integer *); | |||
| integer ldwork; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer liwork, minwrk, maxwrk; | |||
| @@ -994,16 +995,16 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELSD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible. */ | |||
| if (*m == 0 || *n == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters. */ | |||
| @@ -1299,7 +1300,7 @@ L10: | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| iwork[1] = liwork; | |||
| rwork[1] = (real) lrwork; | |||
| return 0; | |||
| return; | |||
| /* End of CGELSD */ | |||
| @@ -696,7 +696,7 @@ f"> */ | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelss_(integer *m, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgelss_(integer *m, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, complex *b, integer *ldb, real *s, real *rcond, | |||
| integer *rank, complex *work, integer *lwork, real *rwork, integer * | |||
| info) | |||
| @@ -710,41 +710,43 @@ f"> */ | |||
| integer itau, lwork_cgebrd__, lwork_cgelqf__, lwork_cgeqrf__, | |||
| lwork_cungbr__, lwork_cunmbr__, i__, lwork_cunmlq__, | |||
| lwork_cunmqr__; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer iascl, ibscl; | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *); | |||
| integer chunk; | |||
| real sfmin; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer minmn, maxmn, itaup, itauq, mnthr, iwork, bl, ie, il; | |||
| extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *, integer *), slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer mm; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clascl_( | |||
| char *, integer *, integer *, real *, real *, integer *, integer * | |||
| , complex *, integer *, integer *), cgeqrf_(integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen), cbdsqr_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cbdsqr_(char *, | |||
| integer *, integer *, integer *, integer *, real *, real *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| real *, integer *); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int cungbr_(char *, integer *, integer *, integer | |||
| extern /* Subroutine */ void cungbr_(char *, integer *, integer *, integer | |||
| *, complex *, integer *, complex *, complex *, integer *, integer | |||
| *), slascl_(char *, integer *, integer *, real *, real *, | |||
| integer *, integer *, real *, integer *, integer *), | |||
| @@ -756,7 +758,7 @@ f"> */ | |||
| char *, integer *, integer *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *, complex *, integer *, integer *); | |||
| integer ldwork; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer minwrk, maxwrk; | |||
| @@ -963,16 +965,16 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELSS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -1431,7 +1433,7 @@ f"> */ | |||
| } | |||
| L70: | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGELSS */ | |||
| @@ -710,7 +710,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelst_(char *trans, integer *m, integer *n, integer * | |||
| /* Subroutine */ void cgelst_(char *trans, integer *m, integer *n, integer * | |||
| nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex * | |||
| work, integer *lwork, integer *info) | |||
| { | |||
| @@ -727,29 +727,30 @@ f"> */ | |||
| integer nbmin; | |||
| real rwork[1]; | |||
| integer lwopt, nb; | |||
| extern /* Subroutine */ int slabad_(real *, real *); | |||
| extern /* Subroutine */ void slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer mn; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), xerbla_(char *, | |||
| integer *); | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int cgelqt_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgelqt_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *); | |||
| integer scllen; | |||
| real bignum; | |||
| extern /* Subroutine */ int cgeqrt_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgeqrt_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *); | |||
| integer mnnrhs; | |||
| real smlnum; | |||
| logical lquery; | |||
| extern /* Subroutine */ int ctrtrs_(char *, char *, char *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *), cgemlqt_(char *, char *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *); | |||
| extern void cgemlqt_(char *, char *, integer *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), cgemqrt_(char *, char *, integer *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| @@ -826,10 +827,10 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELST ", &i__1); | |||
| return 0; | |||
| xerbla_("CGELST ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -841,7 +842,7 @@ f"> */ | |||
| claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb); | |||
| r__1 = (real) lwopt; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* *GEQRT and *GELQT routines cannot accept NB larger than f2cmin(M,N) */ | |||
| @@ -901,7 +902,7 @@ f"> */ | |||
| claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb); | |||
| r__1 = (real) lwopt; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| brow = *m; | |||
| @@ -956,7 +957,7 @@ f"> */ | |||
| , lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *n; | |||
| @@ -975,7 +976,7 @@ f"> */ | |||
| a_offset], lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Block 2: Zero out all rows below the N-th row in B: */ | |||
| @@ -1026,7 +1027,7 @@ f"> */ | |||
| , lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Block 2: Zero out all rows below the M-th row in B: */ | |||
| @@ -1071,7 +1072,7 @@ f"> */ | |||
| a_offset], lda, &b[b_offset], ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *m; | |||
| @@ -1100,7 +1101,7 @@ f"> */ | |||
| r__1 = (real) lwopt; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGELST */ | |||
| @@ -727,7 +727,7 @@ f"> */ | |||
| /* > G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain \n */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelsy_(integer *m, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgelsy_(integer *m, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond, | |||
| integer *rank, complex *work, integer *lwork, real *rwork, integer * | |||
| info) | |||
| @@ -740,45 +740,45 @@ f"> */ | |||
| /* Local variables */ | |||
| real anrm, bnrm, smin, smax; | |||
| integer i__, j, iascl, ibscl; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer ismin, ismax; | |||
| complex c1, c2; | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *), claic1_(integer *, | |||
| integer *, complex *, real *, complex *, complex *, real *, | |||
| complex *, complex *); | |||
| real wsize; | |||
| complex s1, s2; | |||
| extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *, | |||
| integer *, integer *, complex *, complex *, integer *, real *, | |||
| integer *); | |||
| integer nb; | |||
| extern /* Subroutine */ int slabad_(real *, real *); | |||
| extern /* Subroutine */ void slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer mn; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| integer nb1, nb2, nb3, nb4; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| real sminpr, smaxpr, smlnum; | |||
| extern /* Subroutine */ int cunmrz_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmrz_(char *, char *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, integer *); | |||
| integer lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int ctzrzf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void ctzrzf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *); | |||
| @@ -854,9 +854,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELSY", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -865,7 +865,7 @@ f"> */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -1082,7 +1082,7 @@ L70: | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGELSY */ | |||
| @@ -673,7 +673,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgemlq_(char *side, char *trans, integer *m, integer *n, | |||
| /* Subroutine */ void cgemlq_(char *side, char *trans, integer *m, integer *n, | |||
| integer *k, complex *a, integer *lda, complex *t, integer *tsize, | |||
| complex *c__, integer *ldc, complex *work, integer *lwork, integer * | |||
| info) | |||
| @@ -684,7 +684,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* Local variables */ | |||
| logical left, tran; | |||
| extern /* Subroutine */ int clamswlq_(char *, char *, integer *, integer * | |||
| extern /* Subroutine */ void clamswlq_(char *, char *, integer *, integer * | |||
| , integer *, integer *, integer *, complex *, integer *, complex * | |||
| , integer *, complex *, integer *, complex *, integer *, integer * | |||
| ); | |||
| @@ -693,7 +693,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| integer mb, nb, mn, lw, nblcks; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| logical notran, lquery; | |||
| extern /* Subroutine */ int cgemlqt_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemlqt_(char *, char *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, complex *, integer *); | |||
| @@ -775,9 +775,9 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEMLQ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* Computing MIN */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*k) == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Computing MAX */ | |||
| @@ -802,7 +802,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| r__1 = (real) lw; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEMLQ */ | |||
| @@ -658,7 +658,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup doubleGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgemlqt_(char *side, char *trans, integer *m, integer *n, | |||
| /* Subroutine */ void cgemlqt_(char *side, char *trans, integer *m, integer *n, | |||
| integer *k, integer *mb, complex *v, integer *ldv, complex *t, | |||
| integer *ldt, complex *c__, integer *ldc, complex *work, integer * | |||
| info) | |||
| @@ -673,9 +673,10 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| extern logical lsame_(char *, char *); | |||
| logical right; | |||
| integer ib, kf; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical notran; | |||
| integer ldwork; | |||
| @@ -737,12 +738,12 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEMLQT", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 0 || *n == 0 || *k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (left && notran) { | |||
| @@ -803,7 +804,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEMLQT */ | |||
| @@ -675,7 +675,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgemqr_(char *side, char *trans, integer *m, integer *n, | |||
| /* Subroutine */ void cgemqr_(char *side, char *trans, integer *m, integer *n, | |||
| integer *k, complex *a, integer *lda, complex *t, integer *tsize, | |||
| complex *c__, integer *ldc, complex *work, integer *lwork, integer * | |||
| info) | |||
| @@ -685,7 +685,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* Local variables */ | |||
| logical left, tran; | |||
| extern /* Subroutine */ int clamtsqr_(char *, char *, integer *, integer * | |||
| extern /* Subroutine */ void clamtsqr_(char *, char *, integer *, integer * | |||
| , integer *, integer *, integer *, complex *, integer *, complex * | |||
| , integer *, complex *, integer *, complex *, integer *, integer * | |||
| ); | |||
| @@ -694,7 +694,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| integer mb, nb, mn, lw, nblcks; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| logical notran, lquery; | |||
| extern /* Subroutine */ int cgemqrt_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemqrt_(char *, char *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, complex *, integer *); | |||
| @@ -775,9 +775,9 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEMQR", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* Computing MIN */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*k) == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Computing MAX */ | |||
| @@ -801,7 +801,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| work[1].r = (real) lw, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEMQR */ | |||
| @@ -676,7 +676,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgemqrt_(char *side, char *trans, integer *m, integer *n, | |||
| /* Subroutine */ void cgemqrt_(char *side, char *trans, integer *m, integer *n, | |||
| integer *k, integer *nb, complex *v, integer *ldv, complex *t, | |||
| integer *ldt, complex *c__, integer *ldc, complex *work, integer * | |||
| info) | |||
| @@ -691,9 +691,10 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| extern logical lsame_(char *, char *); | |||
| logical right; | |||
| integer ib, kf; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical notran; | |||
| integer ldwork; | |||
| @@ -757,12 +758,12 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEMQRT", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 0 || *n == 0 || *k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (left && tran) { | |||
| @@ -823,7 +824,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEMQRT */ | |||
| @@ -637,7 +637,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeql2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeql2_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -647,10 +647,10 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -683,7 +683,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQL2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -712,7 +712,7 @@ f"> */ | |||
| a[i__1].r = alpha.r, a[i__1].i = alpha.i; | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQL2 */ | |||
| @@ -654,7 +654,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqlf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqlf_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -662,15 +662,16 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k, nbmin, iinfo; | |||
| extern /* Subroutine */ int cgeql2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeql2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer ib, nb, ki, kk; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer mu, nu, nx; | |||
| extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ldwork, lwkopt; | |||
| @@ -726,15 +727,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQLF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -826,7 +827,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEQLF */ | |||
| @@ -674,7 +674,7 @@ f"> */ | |||
| /* > X. Sun, Computer Science Dept., Duke University, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqp3_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqp3_(integer *m, integer *n, complex *a, integer *lda, | |||
| integer *jpvt, complex *tau, complex *work, integer *lwork, real * | |||
| rwork, integer *info) | |||
| { | |||
| @@ -684,24 +684,24 @@ f"> */ | |||
| /* Local variables */ | |||
| integer nfxd, j, nbmin; | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer minmn, minws; | |||
| extern /* Subroutine */ int claqp2_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void claqp2_(integer *, integer *, integer *, | |||
| complex *, integer *, integer *, complex *, real *, real *, | |||
| complex *); | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| integer jb, na, nb, sm, sn, nx; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), xerbla_( | |||
| char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int claqps_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void claqps_(integer *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, integer *, complex *, | |||
| real *, real *, complex *, complex *, integer *); | |||
| integer topbmn, sminmn; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer lwkopt; | |||
| @@ -763,9 +763,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQP3", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Move initial columns up front. */ | |||
| @@ -921,7 +921,7 @@ L30: | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGEQP3 */ | |||
| @@ -683,7 +683,7 @@ static integer c__2 = 2; | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqr_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqr_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *t, integer *tsize, complex *work, integer *lwork, integer * | |||
| info) | |||
| { | |||
| @@ -696,11 +696,11 @@ static integer c__2 = 2; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int cgeqrt_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgeqrt_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *); | |||
| logical lminws, lquery; | |||
| integer mintsz; | |||
| extern /* Subroutine */ int clatsqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void clatsqr_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *); | |||
| @@ -829,15 +829,15 @@ static integer c__2 = 2; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQR", &i__1, (ftnlen)5); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (f2cmin(*m,*n) == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* The QR Decomposition */ | |||
| @@ -854,7 +854,7 @@ static integer c__2 = 2; | |||
| i__1 = f2cmax(i__2,i__3); | |||
| work[1].r = (real) i__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEQR */ | |||
| @@ -644,7 +644,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqr2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqr2_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -654,10 +654,10 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.9.0) -- */ | |||
| @@ -690,7 +690,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQR2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -723,7 +723,7 @@ f"> */ | |||
| } | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQR2 */ | |||
| @@ -648,7 +648,7 @@ l elements using an unblocked algorithm. */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqr2p_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgeqr2p_(integer *m, integer *n, complex *a, integer * | |||
| lda, complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -658,9 +658,10 @@ l elements using an unblocked algorithm. */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| xerbla_(char *, integer *, ftnlen), clarfgp_(integer *, complex *, | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void clarfgp_(integer *, complex *, | |||
| complex *, integer *, complex *); | |||
| @@ -694,7 +695,7 @@ l elements using an unblocked algorithm. */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQR2P", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -727,7 +728,7 @@ l elements using an unblocked algorithm. */ | |||
| } | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQR2P */ | |||
| @@ -661,7 +661,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqrf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqrf_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -669,15 +669,16 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k, nbmin, iinfo; | |||
| extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer ib, nb; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer nx; | |||
| extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ldwork, lwkopt; | |||
| @@ -722,9 +723,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQRF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -732,7 +733,7 @@ f"> */ | |||
| k = f2cmin(*m,*n); | |||
| if (k == 0) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -817,7 +818,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEQRF */ | |||
| @@ -665,7 +665,7 @@ static integer c__2 = 2; | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqrfp_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgeqrfp_(integer *m, integer *n, complex *a, integer * | |||
| lda, complex *tau, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -673,17 +673,18 @@ static integer c__2 = 2; | |||
| /* Local variables */ | |||
| integer i__, k, nbmin, iinfo, ib, nb; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer nx; | |||
| extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ldwork, lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int cgeqr2p_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqr2p_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer iws; | |||
| @@ -725,9 +726,9 @@ static integer c__2 = 2; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQRFP", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -735,7 +736,7 @@ static integer c__2 = 2; | |||
| k = f2cmin(*m,*n); | |||
| if (k == 0) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -820,7 +821,7 @@ static integer c__2 = 2; | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEQRFP */ | |||
| @@ -650,7 +650,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqrt_(integer *m, integer *n, integer *nb, complex *a, | |||
| /* Subroutine */ void cgeqrt_(integer *m, integer *n, integer *nb, complex *a, | |||
| integer *lda, complex *t, integer *ldt, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -658,10 +658,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k, iinfo, ib; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen), | |||
| cgeqrt2_(integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgeqrt2_(integer *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *), cgeqrt3_(integer *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *); | |||
| @@ -702,14 +703,14 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQRT", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| k = f2cmin(*m,*n); | |||
| if (k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Blocked loop of length K */ | |||
| @@ -744,7 +745,7 @@ f"> */ | |||
| ib) * a_dim1], lda, &work[1], &i__5); | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQRT */ | |||
| @@ -643,7 +643,7 @@ presentation of Q. */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqrt2_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgeqrt2_(integer *m, integer *n, complex *a, integer * | |||
| lda, complex *t, integer *ldt, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -652,14 +652,15 @@ presentation of Q. */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| extern /* Subroutine */ int cgerc_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgerc_(integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *); | |||
| complex alpha; | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *), ctrmv_(char *, char *, char *, integer *, | |||
| complex *, integer *, complex *, integer *), clarfg_(integer *, complex *, complex *, integer *, | |||
| complex *), xerbla_(char *, integer *, ftnlen); | |||
| complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| complex aii; | |||
| @@ -696,7 +697,7 @@ presentation of Q. */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQRT2", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -778,6 +779,6 @@ presentation of Q. */ | |||
| /* End of CGEQRT2 */ | |||
| return 0; | |||
| return; | |||
| } /* cgeqrt2_ */ | |||
| @@ -647,7 +647,7 @@ compact WY representation of Q. </b> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqrt3_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgeqrt3_(integer *m, integer *n, complex *a, integer * | |||
| lda, complex *t, integer *ldt, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -656,16 +656,17 @@ compact WY representation of Q. </b> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer i1, j1, n1, n2; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -699,7 +700,7 @@ compact WY representation of Q. </b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQRT3", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 1) { | |||
| @@ -809,7 +810,7 @@ compact WY representation of Q. </b> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQRT3 */ | |||
| @@ -699,7 +699,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgerfs_(char *trans, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgerfs_(char *trans, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex * | |||
| b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr, | |||
| complex *work, real *rwork, integer *info) | |||
| @@ -716,21 +716,22 @@ f"> */ | |||
| integer i__, j, k; | |||
| real s; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| integer count; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *); | |||
| real xk; | |||
| extern real slamch_(char *); | |||
| integer nz; | |||
| real safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), cgetrs_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern int cgetrs_( | |||
| char *, integer *, integer *, complex *, integer *, integer *, | |||
| complex *, integer *, integer *); | |||
| logical notran; | |||
| @@ -790,7 +791,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGERFS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -802,7 +803,7 @@ f"> */ | |||
| berr[j] = 0.f; | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| if (notran) { | |||
| @@ -1028,7 +1029,7 @@ L100: | |||
| /* L140: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGERFS */ | |||
| @@ -633,7 +633,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgerq2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgerq2_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -642,11 +642,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| complex alpha; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| clarfg_(integer *, complex *, complex *, integer *, complex *), | |||
| clacgv_(integer *, complex *, integer *), xerbla_(char *, integer | |||
| *, ftnlen); | |||
| clacgv_(integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -679,7 +679,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGERQ2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| k = f2cmin(*m,*n); | |||
| @@ -710,7 +710,7 @@ f"> */ | |||
| clacgv_(&i__1, &a[*m - k + i__ + a_dim1], lda); | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGERQ2 */ | |||
| @@ -654,7 +654,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgerqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgerqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -662,15 +662,16 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k, nbmin, iinfo; | |||
| extern /* Subroutine */ int cgerq2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgerq2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer ib, nb, ki, kk; | |||
| extern /* Subroutine */ int clarfb_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void clarfb_(char *, char *, char *, char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer mu, nu, nx; | |||
| extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ldwork, lwkopt; | |||
| @@ -726,15 +727,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGERQF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (k == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -825,7 +826,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGERQF */ | |||
| @@ -631,7 +631,7 @@ f"> */ | |||
| /* > Umea University, S-901 87 Umea, Sweden. */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesc2_(integer *n, complex *a, integer *lda, complex * | |||
| /* Subroutine */ void cgesc2_(integer *n, complex *a, integer *lda, complex * | |||
| rhs, integer *ipiv, integer *jpiv, real *scale) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -642,7 +642,7 @@ f"> */ | |||
| /* Local variables */ | |||
| complex temp; | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), slabad_(real *, real *); | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| @@ -745,7 +745,7 @@ f"> */ | |||
| i__1 = *n - 1; | |||
| claswp_(&c__1, &rhs[1], lda, &c__1, &i__1, &jpiv[1], &c_n1); | |||
| return 0; | |||
| return; | |||
| /* End of CGESC2 */ | |||
| @@ -742,7 +742,7 @@ f"> */ | |||
| /* > California at Berkeley, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesdd_(char *jobz, integer *m, integer *n, complex *a, | |||
| /* Subroutine */ void cgesdd_(char *jobz, integer *m, integer *n, complex *a, | |||
| integer *lda, real *s, complex *u, integer *ldu, complex *vt, integer | |||
| *ldvt, complex *work, integer *lwork, real *rwork, integer *iwork, | |||
| integer *info) | |||
| @@ -760,26 +760,26 @@ f"> */ | |||
| real anrm; | |||
| integer ierr, itau, lwork_cunmbr_qln_mm__, lwork_cunmbr_qln_mn__, | |||
| lwork_cunmbr_qln_nn__, idum[1], irvt, i__; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| integer chunk, minmn, wrkbl, itaup, itauq; | |||
| logical wntqa; | |||
| integer nwork; | |||
| extern /* Subroutine */ int clacp2_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clacp2_(char *, integer *, integer *, real *, | |||
| integer *, complex *, integer *); | |||
| logical wntqn, wntqo, wntqs; | |||
| integer mnthr1, mnthr2, ie, lwork_cungbr_p_mn__, il, lwork_cungbr_p_nn__, | |||
| lwork_cungbr_q_mn__, lwork_cungbr_q_mm__; | |||
| extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *, integer *); | |||
| integer ir; | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer iu; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacrm_( | |||
| integer *, integer *, complex *, integer *, real *, integer *, | |||
| complex *, integer *, real *), clarcm_(integer *, integer *, real | |||
| @@ -790,13 +790,15 @@ f"> */ | |||
| integer *, real *, integer *, real *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer | |||
| *, complex *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen), cungbr_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cungbr_(char *, | |||
| integer *, integer *, integer *, complex *, integer *, complex *, | |||
| complex *, integer *, integer *); | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunglq_( | |||
| @@ -804,7 +806,7 @@ f"> */ | |||
| complex *, integer *, integer *); | |||
| extern logical sisnan_(real *); | |||
| integer ldwrkl; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| integer ldwrkr, minwrk, ldwrku, maxwrk, ldwkvt; | |||
| real smlnum; | |||
| @@ -1267,15 +1269,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGESDD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1289,7 +1291,7 @@ f"> */ | |||
| anrm = clange_("M", m, n, &a[a_offset], lda, dum); | |||
| if (sisnan_(&anrm)) { | |||
| *info = -4; | |||
| return 0; | |||
| return; | |||
| } | |||
| iscl = 0; | |||
| if (anrm > 0.f && anrm < smlnum) { | |||
| @@ -2951,7 +2953,7 @@ f"> */ | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGESDD */ | |||
| @@ -639,8 +639,10 @@ iver) </b> */ | |||
| integer a_dim1, a_offset, b_dim1, b_offset, i__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int cgetrf_(integer *, integer *, complex *, | |||
| integer *, integer *, integer *), xerbla_(char *, integer *, ftnlen), cgetrs_(char *, integer *, integer *, complex *, integer | |||
| extern /* Subroutine */ void cgetrf_(integer *, integer *, complex *, | |||
| integer *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgetrs_(char *, integer *, integer *, complex *, integer | |||
| *, integer *, complex *, integer *, integer *); | |||
| @@ -732,7 +732,7 @@ f"> */ | |||
| /* > \ingroup complexGEsing */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, | |||
| /* Subroutine */ void cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, | |||
| complex *a, integer *lda, real *s, complex *u, integer *ldu, complex * | |||
| vt, integer *ldvt, complex *work, integer *lwork, real *rwork, | |||
| integer *info) | |||
| @@ -749,40 +749,41 @@ f"> */ | |||
| real anrm; | |||
| integer ierr, itau, ncvt, nrvt, lwork_cgebrd__, lwork_cgelqf__, | |||
| lwork_cgeqrf__, i__; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| integer chunk, minmn, wrkbl, itaup, itauq, mnthr, iwork; | |||
| logical wntua, wntva, wntun, wntuo, wntvn, wntvo, wntus, wntvs; | |||
| integer ie; | |||
| extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *, integer *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer ir, iu; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clascl_( | |||
| char *, integer *, integer *, real *, real *, integer *, integer * | |||
| , complex *, integer *, integer *), cgeqrf_(integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), cbdsqr_(char *, integer *, integer *, integer *, integer | |||
| *, real *, real *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *), xerbla_(char *, | |||
| integer *, ftnlen), cungbr_(char *, integer *, integer *, integer | |||
| complex *, integer *, real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cungbr_(char *, integer *, integer *, integer | |||
| *, complex *, integer *, complex *, complex *, integer *, integer | |||
| *); | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int cunmbr_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void cunmbr_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, integer *), cunglq_(integer *, integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), cungqr_( | |||
| @@ -1334,15 +1335,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVD", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -4718,7 +4719,7 @@ f"> */ | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGESVD */ | |||
| @@ -932,7 +932,7 @@ static logical c_false = FALSE_; | |||
| /* > \ingroup complexGEsing */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvdq_(char *joba, char *jobp, char *jobr, char *jobu, | |||
| /* Subroutine */ void cgesvdq_(char *joba, char *jobp, char *jobr, char *jobu, | |||
| char *jobv, integer *m, integer *n, complex *a, integer *lda, real *s, | |||
| complex *u, integer *ldu, complex *v, integer *ldv, integer *numrank, | |||
| integer *iwork, integer *liwork, complex *cwork, integer *lcwork, | |||
| @@ -965,7 +965,7 @@ static logical c_false = FALSE_; | |||
| logical dntwu, dntwv, wntuf, wntva; | |||
| integer lwunq; | |||
| logical wntur, wntus, wntvr; | |||
| extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *, | |||
| integer *, integer *, complex *, complex *, integer *, real *, | |||
| integer *); | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| @@ -973,21 +973,22 @@ static logical c_false = FALSE_; | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer nr; | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clascl_( | |||
| char *, integer *, integer *, real *, real *, integer *, integer * | |||
| , complex *, integer *, integer *); | |||
| real sconda; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), csscal_( | |||
| integer *, real *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgesvd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgesvd_(char *, char *, integer *, integer *, | |||
| complex *, integer *, real *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, real *, integer *), clacpy_(char *, integer *, integer *, complex *, integer | |||
| *, complex *, integer *), claset_(char *, integer *, | |||
| integer *, complex *, complex *, complex *, integer *), | |||
| xerbla_(char *, integer *, ftnlen), clapmt_(logical *, integer *, | |||
| integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void clapmt_(logical *, integer *, | |||
| integer *, complex *, integer *, integer *), slascl_(char *, | |||
| integer *, integer *, real *, real *, integer *, integer *, real * | |||
| , integer *, integer *), cpocon_(char *, integer *, | |||
| @@ -995,10 +996,11 @@ static logical c_false = FALSE_; | |||
| ); | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| extern /* Subroutine */ int claswp_(integer *, complex *, integer *, | |||
| integer *, integer *, integer *, integer *), slaset_(char *, | |||
| integer *, integer *, integer *, integer *); | |||
| extern void slaset_(char *, | |||
| integer *, integer *, real *, real *, real *, integer *); | |||
| complex cdummy[1]; | |||
| extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunmqr_(char *, | |||
| char *, integer *, integer *, integer *, complex *, integer *, | |||
| @@ -1380,7 +1382,7 @@ static logical c_false = FALSE_; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVDQ", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| /* Return optimal workspace */ | |||
| @@ -1389,13 +1391,13 @@ static logical c_false = FALSE_; | |||
| cwork[1].r = (real) optwrk, cwork[1].i = 0.f; | |||
| cwork[2].r = (real) minwrk, cwork[2].i = 0.f; | |||
| rwork[1] = (real) rminwrk; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if the matrix is void. */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| big = slamch_("O"); | |||
| @@ -1412,7 +1414,7 @@ static logical c_false = FALSE_; | |||
| *info = -8; | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVDQ", &i__2, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L1904: */ | |||
| } | |||
| @@ -1466,7 +1468,7 @@ static logical c_false = FALSE_; | |||
| rwork[1] = -1.f; | |||
| } | |||
| rwork[2] = -1.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| if (rwork[1] > big / sqrt((real) (*m))) { | |||
| @@ -1490,7 +1492,7 @@ static logical c_false = FALSE_; | |||
| *info = -8; | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVDQ", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (rtmp > big / sqrt((real) (*m))) { | |||
| /* matrix by 1/sqrt(M) if too large entry detected */ | |||
| @@ -2317,7 +2319,7 @@ L4002: | |||
| /* full row rank triangular (trapezoidal) factor of A. */ | |||
| *numrank = nr; | |||
| return 0; | |||
| return; | |||
| /* End of CGESVDQ */ | |||
| @@ -786,7 +786,7 @@ static integer c_n1 = -1; | |||
| /* > \ingroup complexGEsing */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvdx_(char *jobu, char *jobvt, char *range, integer * | |||
| /* Subroutine */ void cgesvdx_(char *jobu, char *jobvt, char *range, integer * | |||
| m, integer *n, complex *a, integer *lda, real *vl, real *vu, integer * | |||
| il, integer *iu, integer *ns, real *s, complex *u, integer *ldu, | |||
| complex *vt, integer *ldvt, complex *work, integer *lwork, real * | |||
| @@ -813,43 +813,44 @@ static integer c_n1 = -1; | |||
| integer iltgk, itemp, minmn, itaup, itauq, iutgk, itgkz, mnthr; | |||
| logical wantu; | |||
| integer id, ie; | |||
| extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, complex *, complex *, | |||
| integer *, integer *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clascl_( | |||
| char *, integer *, integer *, real *, real *, integer *, integer * | |||
| , complex *, integer *, integer *), cgeqrf_(integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), clacpy_(char *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *); | |||
| real abstol; | |||
| extern /* Subroutine */ int cunmbr_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void cunmbr_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, integer *); | |||
| char rngtgk[1]; | |||
| extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer itempr; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer minwrk, maxwrk; | |||
| real smlnum; | |||
| logical lquery, wantvt; | |||
| real dum[1], eps; | |||
| extern /* Subroutine */ int sbdsvdx_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void sbdsvdx_(char *, char *, char *, integer *, | |||
| real *, real *, real *, real *, integer *, integer *, integer *, | |||
| real *, real *, integer *, real *, integer *, integer *); | |||
| @@ -1049,15 +1050,15 @@ static integer c_n1 = -1; | |||
| if (*info != 0) { | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVDX", &i__2, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Set singular values indices accord to RANGE='A'. */ | |||
| @@ -1501,7 +1502,7 @@ static integer c_n1 = -1; | |||
| q__1.r = r__1, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGESVDX */ | |||
| @@ -868,7 +868,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvj_(char *joba, char *jobu, char *jobv, integer *m, | |||
| /* Subroutine */ void cgesvj_(char *joba, char *jobu, char *jobv, integer *m, | |||
| integer *n, complex *a, integer *lda, real *sva, integer *mv, complex | |||
| *v, integer *ldv, complex *cwork, integer *lwork, real *rwork, | |||
| integer *lrwork, integer *info) | |||
| @@ -885,7 +885,7 @@ f"> */ | |||
| real aaqq, ctol; | |||
| integer ierr; | |||
| real bigtheta; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| complex ompq; | |||
| integer pskipped; | |||
| @@ -898,16 +898,16 @@ f"> */ | |||
| extern logical lsame_(char *, char *); | |||
| real theta, small, sfmin; | |||
| logical lsvec; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| real epsln; | |||
| logical applv, rsvec, uctol; | |||
| extern /* Subroutine */ int caxpy_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| logical lower, upper, rotok; | |||
| integer n2, n4; | |||
| extern /* Subroutine */ int cgsvj0_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgsvj0_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, real *, integer *, complex *, integer *, | |||
| real *, real *, real *, integer *, complex *, integer *, integer * | |||
| ), cgsvj1_(char *, integer *, integer *, integer *, | |||
| @@ -918,18 +918,19 @@ f"> */ | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| integer n34; | |||
| real cs, sn; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *), claset_(char *, integer *, integer *, complex *, complex *, | |||
| complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer ijblsk, swband; | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *); | |||
| integer blskip; | |||
| extern /* Subroutine */ int classq_(integer *, complex *, integer *, real | |||
| extern /* Subroutine */ void classq_(integer *, complex *, integer *, real | |||
| *, real *); | |||
| real mxaapq, thsign, mxsinj; | |||
| integer ir1, emptsw; | |||
| @@ -1014,18 +1015,18 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVJ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| i__1 = *m + *n; | |||
| cwork[1].r = (real) i__1, cwork[1].i = 0.f; | |||
| rwork[1] = (real) f2cmax(*n,6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* #:) Quick return for void matrix */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Set numerical parameters */ | |||
| @@ -1067,7 +1068,7 @@ f"> */ | |||
| *info = -4; | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVJ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Initialize the right singular vector matrix. */ | |||
| @@ -1105,7 +1106,7 @@ f"> */ | |||
| *info = -6; | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVJ", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| aaqq = sqrt(aaqq); | |||
| if (aapp < big / aaqq && noscale) { | |||
| @@ -1135,7 +1136,7 @@ f"> */ | |||
| *info = -6; | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVJ", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| aaqq = sqrt(aaqq); | |||
| if (aapp < big / aaqq && noscale) { | |||
| @@ -1165,7 +1166,7 @@ f"> */ | |||
| *info = -6; | |||
| i__2 = -(*info); | |||
| xerbla_("CGESVJ", &i__2, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| aaqq = sqrt(aaqq); | |||
| if (aapp < big / aaqq && noscale) { | |||
| @@ -1221,7 +1222,7 @@ f"> */ | |||
| rwork[4] = 0.f; | |||
| rwork[5] = 0.f; | |||
| rwork[6] = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* #:) Quick return for one-column matrix */ | |||
| @@ -1241,7 +1242,7 @@ f"> */ | |||
| rwork[4] = 0.f; | |||
| rwork[5] = 0.f; | |||
| rwork[6] = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Protect small singular values from underflow, and try to */ | |||
| @@ -2267,6 +2268,6 @@ L1995: | |||
| /* MXSINJ is the largest absolute value of the sines of Jacobi angles */ | |||
| /* in the last sweep */ | |||
| return 0; | |||
| return; | |||
| } /* cgesvj_ */ | |||
| @@ -857,7 +857,7 @@ f"> */ | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvx_(char *fact, char *trans, integer *n, integer * | |||
| /* Subroutine */ void cgesvx_(char *fact, char *trans, integer *n, integer * | |||
| nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer * | |||
| ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb, | |||
| complex *x, integer *ldx, real *rcond, real *ferr, real *berr, | |||
| @@ -878,22 +878,24 @@ f"> */ | |||
| logical equil; | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| extern /* Subroutine */ int claqge_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void claqge_(integer *, integer *, complex *, | |||
| integer *, real *, real *, real *, real *, real *, char *) | |||
| , cgecon_(char *, integer *, complex *, integer *, real *, real *, | |||
| complex *, real *, integer *); | |||
| real colcnd; | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgeequ_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeequ_(integer *, integer *, complex *, | |||
| integer *, real *, real *, real *, real *, real *, integer *); | |||
| logical nofact; | |||
| extern /* Subroutine */ int cgerfs_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgerfs_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *, integer *, complex *, integer | |||
| *, complex *, integer *, real *, real *, complex *, real *, | |||
| integer *), cgetrf_(integer *, integer *, complex *, | |||
| integer *, integer *, integer *), clacpy_(char *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| integer *); | |||
| extern int cgetrf_(integer *, integer *, complex *, | |||
| integer *, integer *, integer *); | |||
| extern void clacpy_(char *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| extern real clantr_(char *, char *, char *, integer *, integer *, complex | |||
| *, integer *, real *); | |||
| @@ -1029,7 +1031,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (equil) { | |||
| @@ -1110,7 +1112,7 @@ f"> */ | |||
| } | |||
| rwork[1] = rpvgrw; | |||
| *rcond = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1203,7 +1205,7 @@ f"> */ | |||
| } | |||
| rwork[1] = rpvgrw; | |||
| return 0; | |||
| return; | |||
| /* End of CGESVX */ | |||
| @@ -1048,7 +1048,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgesvxx_(char *fact, char *trans, integer *n, integer * | |||
| /* Subroutine */ void cgesvxx_(char *fact, char *trans, integer *n, integer * | |||
| nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer * | |||
| ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb, | |||
| complex *x, integer *ldx, real *rcond, real *rpvgrw, real *berr, | |||
| @@ -1070,26 +1070,26 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| extern logical lsame_(char *, char *); | |||
| real rcmin, rcmax; | |||
| logical equil; | |||
| extern /* Subroutine */ int claqge_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void claqge_(integer *, integer *, complex *, | |||
| integer *, real *, real *, real *, real *, real *, char *) | |||
| ; | |||
| real colcnd; | |||
| extern real slamch_(char *); | |||
| logical nofact; | |||
| extern /* Subroutine */ int cgetrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgetrf_(integer *, integer *, complex *, | |||
| integer *, integer *, integer *), clacpy_(char *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *), | |||
| xerbla_(char *, integer *, ftnlen); | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| integer infequ; | |||
| logical colequ; | |||
| extern /* Subroutine */ int cgetrs_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgetrs_(char *, integer *, integer *, complex | |||
| *, integer *, integer *, complex *, integer *, integer *); | |||
| real rowcnd; | |||
| logical notran; | |||
| real smlnum; | |||
| logical rowequ; | |||
| extern /* Subroutine */ int clascl2_(integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl2_(integer *, integer *, real *, | |||
| complex *, integer *), cgeequb_(integer *, integer *, complex *, | |||
| integer *, real *, real *, real *, real *, real *, integer *), | |||
| cgerfsx_(char *, char *, integer *, integer *, complex *, integer | |||
| @@ -1231,7 +1231,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGESVXX", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (equil) { | |||
| @@ -1297,7 +1297,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| *rpvgrw = cla_gerpvgrw_(n, info, &a[a_offset], lda, &af[ | |||
| af_offset], ldaf); | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1328,7 +1328,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGESVXX */ | |||
| @@ -625,7 +625,7 @@ f"> */ | |||
| /* > Umea University, S-901 87 Umea, Sweden. */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetc2_(integer *n, complex *a, integer *lda, integer * | |||
| /* Subroutine */ void cgetc2_(integer *n, complex *a, integer *lda, integer * | |||
| ipiv, integer *jpiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -636,7 +636,7 @@ f"> */ | |||
| /* Local variables */ | |||
| real smin, xmax; | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgeru_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeru_(integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *), | |||
| cswap_(integer *, complex *, integer *, complex *, integer *), | |||
| slabad_(real *, real *); | |||
| @@ -668,7 +668,7 @@ f"> */ | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Set constants to control overflow */ | |||
| @@ -689,7 +689,7 @@ f"> */ | |||
| q__1.r = smlnum, q__1.i = 0.f; | |||
| a[i__1].r = q__1.r, a[i__1].i = q__1.i; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Factorize A using complete pivoting. */ | |||
| @@ -770,7 +770,7 @@ f"> */ | |||
| ipiv[*n] = *n; | |||
| jpiv[*n] = *n; | |||
| return 0; | |||
| return; | |||
| /* End of CGETC2 */ | |||
| @@ -623,7 +623,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetf2_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgetf2_(integer *m, integer *n, complex *a, integer *lda, | |||
| integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -632,11 +632,11 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), cgeru_(integer *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| real sfmin; | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer jp; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| @@ -673,13 +673,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETF2", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute machine safe minimum */ | |||
| @@ -740,7 +740,7 @@ f"> */ | |||
| } | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGETF2 */ | |||
| @@ -623,7 +623,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetrf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgetrf_(integer *m, integer *n, complex *a, integer *lda, | |||
| integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -632,18 +632,18 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer jb, nb; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern /* Subroutine */ int claswp_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void claswp_(integer *, complex *, integer *, | |||
| integer *, integer *, integer *, integer *), cgetrf2_(integer *, | |||
| integer *, complex *, integer *, integer *, integer *); | |||
| @@ -677,13 +677,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETRF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Determine the block size for this environment. */ | |||
| @@ -762,7 +762,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGETRF */ | |||
| @@ -624,7 +624,7 @@ static integer c__1 = 1; | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetrf2_(integer *m, integer *n, complex *a, integer * | |||
| /* Subroutine */ void cgetrf2_(integer *m, integer *n, complex *a, integer * | |||
| lda, integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -634,19 +634,20 @@ static integer c__1 = 1; | |||
| /* Local variables */ | |||
| complex temp; | |||
| integer i__; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), cgemm_(char *, char *, integer *, integer *, integer * | |||
| , complex *, complex *, integer *, complex *, integer *, complex * | |||
| , complex *, integer *); | |||
| integer iinfo; | |||
| real sfmin; | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer n1, n2; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), claswp_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern int claswp_( | |||
| integer *, complex *, integer *, integer *, integer *, integer *, | |||
| integer *); | |||
| @@ -680,13 +681,13 @@ static integer c__1 = 1; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETRF2", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*m == 0 || *n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 1) { | |||
| @@ -807,7 +808,7 @@ static integer c__1 = 1; | |||
| claswp_(&n1, &a[a_dim1 + 1], lda, &i__1, &i__2, &ipiv[1], &c__1); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGETRF2 */ | |||
| @@ -630,7 +630,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetri_(integer *n, complex *a, integer *lda, integer * | |||
| /* Subroutine */ void cgetri_(integer *n, complex *a, integer *lda, integer * | |||
| ipiv, complex *work, integer *lwork, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -639,13 +639,13 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, j; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *), cgemv_(char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| integer nbmin; | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *), ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| @@ -696,15 +696,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETRI", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Form inv(U). If INFO > 0 from CTRTRI, then U is singular, */ | |||
| @@ -712,7 +712,7 @@ f"> */ | |||
| ctrtri_("Upper", "Non-unit", n, &a[a_offset], lda, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| nbmin = 2; | |||
| @@ -817,7 +817,7 @@ f"> */ | |||
| } | |||
| work[1].r = (real) iws, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGETRI */ | |||
| @@ -636,7 +636,7 @@ f"> */ | |||
| /* > \ingroup complexGEcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetrs_(char *trans, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgetrs_(char *trans, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer * | |||
| info) | |||
| { | |||
| @@ -645,10 +645,11 @@ f"> */ | |||
| /* Local variables */ | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, complex *, complex *, integer *, complex *, | |||
| integer *), xerbla_(char *, | |||
| integer *, ftnlen), claswp_(integer *, complex *, integer *, | |||
| integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void claswp_(integer *, complex *, integer *, | |||
| integer *, integer *, integer *, integer *); | |||
| logical notran; | |||
| @@ -691,13 +692,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETRS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0 || *nrhs == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (notran) { | |||
| @@ -736,7 +737,7 @@ f"> */ | |||
| claswp_(nrhs, &b[b_offset], ldb, &c__1, n, &ipiv[1], &c_n1); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGETRS */ | |||
| @@ -674,7 +674,7 @@ static integer c__0 = 0; | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetsls_(char *trans, integer *m, integer *n, integer * | |||
| /* Subroutine */ void cgetsls_(char *trans, integer *m, integer *n, integer * | |||
| nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex * | |||
| work, integer *lwork, integer *info) | |||
| { | |||
| @@ -686,26 +686,27 @@ static integer c__0 = 0; | |||
| real anrm, bnrm; | |||
| logical tran; | |||
| integer brow, tszm, tszo, info2, i__, j, iascl, ibscl; | |||
| extern /* Subroutine */ int cgelq_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgelq_(integer *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cgeqr_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqr_(integer *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *); | |||
| integer minmn, maxmn; | |||
| complex workq[1]; | |||
| extern /* Subroutine */ int slabad_(real *, real *); | |||
| extern /* Subroutine */ void slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| complex tq[5]; | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int cgemlq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemlq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *), | |||
| claset_(char *, integer *, integer *, complex *, complex *, | |||
| complex *, integer *), xerbla_(char *, integer *, ftnlen), | |||
| cgemqr_(char *, char *, integer *, integer *, integer *, complex | |||
| complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgemqr_(char *, char *, integer *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *, complex *, integer *, complex | |||
| *, integer *, integer *); | |||
| integer scllen; | |||
| @@ -821,7 +822,7 @@ static integer c__0 = 0; | |||
| xerbla_("CGETSLS", &i__1, (ftnlen)7); | |||
| r__1 = (real) wsizeo; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lquery) { | |||
| if (*lwork == -1) { | |||
| @@ -832,7 +833,7 @@ static integer c__0 = 0; | |||
| r__1 = (real) wsizem; | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*lwork < wsizeo) { | |||
| lw1 = tszm; | |||
| @@ -849,7 +850,7 @@ static integer c__0 = 0; | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| i__1 = f2cmax(*m,*n); | |||
| claset_("FULL", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -927,7 +928,7 @@ static integer c__0 = 0; | |||
| ctrtrs_("U", "N", "N", n, nrhs, &a[a_offset], lda, &b[b_offset], | |||
| ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *n; | |||
| } else { | |||
| @@ -940,7 +941,7 @@ static integer c__0 = 0; | |||
| ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* B(N+1:M,1:NRHS) = CZERO */ | |||
| @@ -984,7 +985,7 @@ static integer c__0 = 0; | |||
| ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* B(M+1:N,1:NRHS) = 0 */ | |||
| @@ -1026,7 +1027,7 @@ static integer c__0 = 0; | |||
| ldb, info); | |||
| if (*info > 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| scllen = *m; | |||
| @@ -1055,7 +1056,7 @@ static integer c__0 = 0; | |||
| L50: | |||
| r__1 = (real) (tszo + lwo); | |||
| work[1].r = r__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of ZGETSLS */ | |||
| @@ -689,7 +689,7 @@ hrt.f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgetsqrhrt_(integer *m, integer *n, integer *mb1, | |||
| /* Subroutine */ void cgetsqrhrt_(integer *m, integer *n, integer *mb1, | |||
| integer *nb1, integer *nb2, complex *a, integer *lda, complex *t, | |||
| integer *ldt, complex *work, integer *lwork, integer *info) | |||
| { | |||
| @@ -700,17 +700,18 @@ hrt.f"> */ | |||
| /* Local variables */ | |||
| integer ldwt, lworkopt, i__, j; | |||
| extern /* Subroutine */ int cungtsqr_row_(integer *, integer *, integer * | |||
| extern /* Subroutine */ void cungtsqr_row_(integer *, integer *, integer * | |||
| , integer *, complex *, integer *, complex *, integer *, complex * | |||
| , integer *, integer *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cunhr_col_(integer *, integer *, integer * | |||
| , complex *, integer *, complex *, integer *, complex *, integer * | |||
| ), xerbla_(char *, integer *, ftnlen); | |||
| ); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical lquery; | |||
| integer lw1, lw2, num_all_row_blocks__, lwt; | |||
| extern /* Subroutine */ int clatsqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void clatsqr_(integer *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *); | |||
| integer nb1local, nb2local; | |||
| @@ -812,11 +813,11 @@ hrt.f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGETSQRHRT", &i__1, (ftnlen)10); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| q__1.r = (real) lworkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -824,7 +825,7 @@ hrt.f"> */ | |||
| if (f2cmin(*m,*n) == 0) { | |||
| q__1.r = (real) lworkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| } | |||
| nb2local = f2cmin(*nb2,*n); | |||
| @@ -895,7 +896,7 @@ hrt.f"> */ | |||
| q__1.r = (real) lworkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGETSQRHRT */ | |||
| @@ -656,7 +656,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggbak_(char *job, char *side, integer *n, integer *ilo, | |||
| /* Subroutine */ void cggbak_(char *job, char *side, integer *n, integer *ilo, | |||
| integer *ihi, real *lscale, real *rscale, integer *m, complex *v, | |||
| integer *ldv, integer *info) | |||
| { | |||
| @@ -666,11 +666,12 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| logical leftv; | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical rightv; | |||
| @@ -720,19 +721,19 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGBAK", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(job, "N")) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*ilo == *ihi) { | |||
| @@ -837,7 +838,7 @@ L100: | |||
| L110: | |||
| return 0; | |||
| return; | |||
| /* End of CGGBAK */ | |||
| @@ -691,7 +691,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggbal_(char *job, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cggbal_(char *job, integer *n, complex *a, integer *lda, | |||
| complex *b, integer *ldb, integer *ilo, integer *ihi, real *lscale, | |||
| real *rscale, real *work, integer *info) | |||
| { | |||
| @@ -709,13 +709,13 @@ f"> */ | |||
| integer i__, j, k, l, m; | |||
| real gamma, t, alpha; | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *); | |||
| extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *); | |||
| real sfmin; | |||
| extern /* Subroutine */ int cswap_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| real sfmax; | |||
| integer iflow, kount; | |||
| extern /* Subroutine */ int saxpy_(integer *, real *, real *, integer *, | |||
| extern /* Subroutine */ void saxpy_(integer *, real *, real *, integer *, | |||
| real *, integer *); | |||
| integer jc; | |||
| real ta, tb, tc; | |||
| @@ -725,8 +725,9 @@ f"> */ | |||
| real pgamma; | |||
| extern integer icamax_(integer *, complex *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer | |||
| *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer | |||
| *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer lsfmin, lsfmax, ip1, jp1, lm1; | |||
| real cab, rab, ewc, cor, sum; | |||
| integer nrp2, icab; | |||
| @@ -769,7 +770,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGBAL", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -777,7 +778,7 @@ f"> */ | |||
| if (*n == 0) { | |||
| *ilo = 1; | |||
| *ihi = *n; | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 1) { | |||
| @@ -785,7 +786,7 @@ f"> */ | |||
| *ihi = *n; | |||
| lscale[1] = 1.f; | |||
| rscale[1] = 1.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(job, "N")) { | |||
| @@ -797,7 +798,7 @@ f"> */ | |||
| rscale[i__] = 1.f; | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| k = 1; | |||
| @@ -942,11 +943,11 @@ L190: | |||
| rscale[i__] = 1.f; | |||
| /* L195: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*ilo == *ihi) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Balance the submatrix in rows ILO to IHI. */ | |||
| @@ -1209,7 +1210,7 @@ L350: | |||
| /* L380: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGGBAL */ | |||
| @@ -784,7 +784,7 @@ or GE matrices</b> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| /* Subroutine */ void cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| selctg, integer *n, complex *a, integer *lda, complex *b, integer * | |||
| ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl, | |||
| integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer * | |||
| @@ -803,29 +803,30 @@ or GE matrices</b> */ | |||
| integer ileft, icols; | |||
| logical cursl, ilvsl, ilvsr; | |||
| integer irwrk, irows; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| real *, real *, integer *), slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *), | |||
| @@ -839,7 +840,7 @@ or GE matrices</b> */ | |||
| integer lwkmin; | |||
| logical lastsl; | |||
| real bnrmto; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| cunmqr_(char *, char *, integer *, integer *, integer *, complex | |||
| *, integer *, complex *, complex *, integer *, complex *, integer | |||
| @@ -964,16 +965,16 @@ or GE matrices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGES ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| *sdim = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1185,7 +1186,7 @@ L30: | |||
| work[1].r = (real) lwkopt, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGES */ | |||
| @@ -783,7 +783,7 @@ f"> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgges3_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| /* Subroutine */ void cgges3_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| selctg, integer *n, complex *a, integer *lda, complex *b, integer * | |||
| ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl, | |||
| integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer * | |||
| @@ -803,28 +803,29 @@ f"> */ | |||
| integer ileft, icols; | |||
| logical cursl, ilvsl, ilvsr; | |||
| integer irwrk; | |||
| extern /* Subroutine */ int cgghd3_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghd3_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *); | |||
| integer irows; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| real *, real *, integer *), slabad_(real *, real *); | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), claset_(char *, | |||
| integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *), | |||
| @@ -836,7 +837,7 @@ f"> */ | |||
| integer ijobvl, iright, ijobvr; | |||
| real anrmto, bnrmto; | |||
| logical lastsl; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *), | |||
| cunmqr_(char *, char *, integer *, integer *, integer *, complex | |||
| *, integer *, complex *, complex *, integer *, complex *, integer | |||
| @@ -979,16 +980,16 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGES3 ", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| *sdim = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1194,7 +1195,7 @@ L30: | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGGES3 */ | |||
| @@ -843,7 +843,7 @@ f"> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| /* Subroutine */ void cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp | |||
| selctg, char *sense, integer *n, complex *a, integer *lda, complex *b, | |||
| integer *ldb, integer *sdim, complex *alpha, complex *beta, complex * | |||
| vsl, integer *ldvsl, complex *vsr, integer *ldvsr, real *rconde, real | |||
| @@ -862,7 +862,7 @@ f"> */ | |||
| integer ileft, icols; | |||
| logical cursl, ilvsl, ilvsr; | |||
| integer irwrk, irows; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| @@ -870,24 +870,24 @@ f"> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| real pl; | |||
| extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| real pr; | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacpy_( | |||
| char *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *), claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern real slamch_(char *); | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *), | |||
| @@ -901,12 +901,12 @@ f"> */ | |||
| integer liwmin; | |||
| logical wantse, lastsl; | |||
| real anrmto, bnrmto; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| integer minwrk, maxwrk; | |||
| logical wantsn; | |||
| real smlnum; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| logical wantst, lquery, wantsv; | |||
| @@ -1062,16 +1062,16 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGESX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| *sdim = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1309,7 +1309,7 @@ L40: | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| iwork[1] = liwmin; | |||
| return 0; | |||
| return; | |||
| /* End of CGGESX */ | |||
| @@ -734,7 +734,7 @@ ices</b> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggev_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| /* Subroutine */ void cggev_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta, | |||
| complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex * | |||
| work, integer *lwork, real *rwork, integer *info) | |||
| @@ -753,7 +753,7 @@ ices</b> */ | |||
| integer iwrk; | |||
| extern logical lsame_(char *, char *); | |||
| integer ileft, icols, irwrk, irows, jc; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| @@ -762,25 +762,25 @@ ices</b> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer jr; | |||
| extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacpy_( | |||
| char *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *), claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), ctgevc_(char *, char | |||
| *, logical *, integer *, complex *, integer *, complex *, integer | |||
| *, complex *, integer *, complex *, integer *, integer *, integer | |||
| *, complex *, real *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| *, complex *, real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical ldumma[1]; | |||
| char chtemp[1]; | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *); | |||
| @@ -788,12 +788,12 @@ ices</b> */ | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern real slamch_(char *); | |||
| integer ijobvl, iright, ijobvr; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| real anrmto; | |||
| integer lwkmin; | |||
| real bnrmto; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| real smlnum; | |||
| @@ -913,15 +913,15 @@ ices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGEV ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1164,7 +1164,7 @@ L70: | |||
| } | |||
| work[1].r = (real) lwkopt, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGEV */ | |||
| @@ -733,7 +733,7 @@ f"> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggev3_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| /* Subroutine */ void cggev3_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| integer *lda, complex *b, integer *ldb, complex *alpha, complex * | |||
| beta, complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex | |||
| *work, integer *lwork, real *rwork, integer *info) | |||
| @@ -752,11 +752,11 @@ f"> */ | |||
| integer iwrk; | |||
| extern logical lsame_(char *, char *); | |||
| integer ileft, icols, irwrk; | |||
| extern /* Subroutine */ int cgghd3_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghd3_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *, integer *); | |||
| integer irows, jc; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| @@ -765,31 +765,31 @@ f"> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer jr; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacpy_( | |||
| char *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *), claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), ctgevc_(char *, char | |||
| *, logical *, integer *, complex *, integer *, complex *, integer | |||
| *, complex *, integer *, complex *, integer *, integer *, integer | |||
| *, complex *, real *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| *, complex *, real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| logical ldumma[1]; | |||
| char chtemp[1]; | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *); | |||
| extern real slamch_(char *); | |||
| integer ijobvl, iright, ijobvr; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| real anrmto, bnrmto; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| real smlnum; | |||
| @@ -932,15 +932,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGEV3 ", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1178,7 +1178,7 @@ L70: | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGGEV3 */ | |||
| @@ -888,7 +888,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggevx_(char *balanc, char *jobvl, char *jobvr, char * | |||
| /* Subroutine */ void cggevx_(char *balanc, char *jobvl, char *jobvr, char * | |||
| sense, integer *n, complex *a, integer *lda, complex *b, integer *ldb, | |||
| complex *alpha, complex *beta, complex *vl, integer *ldvl, complex * | |||
| vr, integer *ldvr, integer *ilo, integer *ihi, real *lscale, real * | |||
| @@ -912,7 +912,7 @@ f"> */ | |||
| integer icols; | |||
| logical noscl; | |||
| integer irows, jc; | |||
| extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, complex *, integer *, | |||
| integer *), cggbal_(char *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *, integer *, real *, | |||
| @@ -921,13 +921,13 @@ f"> */ | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *); | |||
| integer jr; | |||
| extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *), | |||
| clascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, complex *, integer *, integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), clacpy_( | |||
| char *, integer *, integer *, complex *, integer *, complex *, | |||
| integer *), claset_(char *, integer *, integer *, complex | |||
| @@ -935,7 +935,7 @@ f"> */ | |||
| logical ldumma[1]; | |||
| char chtemp[1]; | |||
| real bignum; | |||
| extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, integer *), | |||
| @@ -943,24 +943,24 @@ f"> */ | |||
| , complex *, integer *, complex *, integer *, complex *, integer * | |||
| , integer *, integer *, complex *, real *, integer *); | |||
| integer ijobvl; | |||
| extern /* Subroutine */ int ctgsna_(char *, char *, logical *, integer *, | |||
| extern /* Subroutine */ void ctgsna_(char *, char *, logical *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, real *, integer *, integer *, | |||
| complex *, integer *, integer *, integer *), | |||
| slascl_(char *, integer *, integer *, real *, real *, integer *, | |||
| integer *, real *, integer *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| integer *, real *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern real slamch_(char *); | |||
| integer ijobvr; | |||
| logical wantsb; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| real anrmto; | |||
| logical wantse; | |||
| real bnrmto; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer minwrk, maxwrk; | |||
| @@ -1106,15 +1106,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGEVX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1422,7 +1422,7 @@ L90: | |||
| } | |||
| work[1].r = (real) maxwrk, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGEVX */ | |||
| @@ -699,7 +699,7 @@ f"> */ | |||
| /* > \ingroup complexOTHEReigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggglm_(integer *n, integer *m, integer *p, complex *a, | |||
| /* Subroutine */ void cggglm_(integer *n, integer *m, integer *p, complex *a, | |||
| integer *lda, complex *b, integer *ldb, complex *d__, complex *x, | |||
| complex *y, complex *work, integer *lwork, integer *info) | |||
| { | |||
| @@ -709,18 +709,19 @@ f"> */ | |||
| /* Local variables */ | |||
| integer lopt, i__; | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *), ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer nb, np; | |||
| extern /* Subroutine */ int cggqrf_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cggqrf_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, complex *, | |||
| complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| complex *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer lwkmin, nb1, nb2, nb3, nb4; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunmrq_(char *, | |||
| char *, integer *, integer *, integer *, complex *, integer *, | |||
| @@ -801,9 +802,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGGLM", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -819,7 +820,7 @@ f"> */ | |||
| i__2 = i__; | |||
| y[i__2].r = 0.f, y[i__2].i = 0.f; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute the GQR factorization of matrices A and B: */ | |||
| @@ -860,7 +861,7 @@ f"> */ | |||
| if (*info > 0) { | |||
| *info = 1; | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *n - *m; | |||
| @@ -891,7 +892,7 @@ f"> */ | |||
| if (*info > 0) { | |||
| *info = 2; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Copy D to X */ | |||
| @@ -914,7 +915,7 @@ f"> */ | |||
| i__1 = *m + np + f2cmax(i__2,i__3); | |||
| work[1].r = (real) i__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGGLM */ | |||
| @@ -749,7 +749,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgghd3_(char *compq, char *compz, integer *n, integer * | |||
| /* Subroutine */ void cgghd3_(char *compq, char *compz, integer *n, integer * | |||
| ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb, | |||
| complex *q, integer *ldq, complex *z__, integer *ldz, complex *work, | |||
| integer *lwork, integer *info) | |||
| @@ -763,22 +763,22 @@ f"> */ | |||
| logical blk22; | |||
| integer cola, jcol, ierr; | |||
| complex temp; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| integer jrow, topq, ppwo; | |||
| complex temp1, temp2, temp3; | |||
| real c__; | |||
| integer kacc22, i__, j, k; | |||
| complex s; | |||
| extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *, | |||
| integer *, complex *, complex *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *); | |||
| integer nbmin; | |||
| extern /* Subroutine */ int cunm22_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunm22_(char *, char *, integer *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| complex ctemp; | |||
| @@ -787,17 +787,17 @@ f"> */ | |||
| complex c1, c2; | |||
| logical wantq; | |||
| integer j0; | |||
| extern /* Subroutine */ int ctrmv_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void ctrmv_(char *, char *, char *, integer *, | |||
| complex *, integer *, complex *, integer *); | |||
| logical initz, wantz; | |||
| complex s1, s2; | |||
| char compq2[1], compz2[1]; | |||
| integer nb, jj, nh; | |||
| extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, complex *, integer *, integer *); | |||
| integer nx, pw; | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), clartg_(complex *, | |||
| complex *, real *, complex *, complex *), clacpy_(char *, integer | |||
| *, integer *, complex *, integer *, complex *, integer *); | |||
| @@ -876,9 +876,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGHD3", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Initialize Q and Z if desired. */ | |||
| @@ -903,7 +903,7 @@ f"> */ | |||
| nh = *ihi - *ilo + 1; | |||
| if (nh <= 1) { | |||
| work[1].r = 1.f, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Determine the blocksize. */ | |||
| @@ -1760,7 +1760,7 @@ f"> */ | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGGHD3 */ | |||
| @@ -718,7 +718,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgghrd_(char *compq, char *compz, integer *n, integer * | |||
| /* Subroutine */ void cgghrd_(char *compq, char *compz, integer *n, integer * | |||
| ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb, | |||
| complex *q, integer *ldq, complex *z__, integer *ldz, integer *info) | |||
| { | |||
| @@ -729,17 +729,17 @@ f"> */ | |||
| /* Local variables */ | |||
| integer jcol; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| integer jrow; | |||
| real c__; | |||
| complex s; | |||
| extern logical lsame_(char *, char *); | |||
| complex ctemp; | |||
| extern /* Subroutine */ int claset_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void claset_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *), clartg_(complex *, | |||
| complex *, real *, complex *, complex *), xerbla_(char *, integer | |||
| *, ftnlen); | |||
| complex *, real *, complex *, complex *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer icompq, icompz; | |||
| logical ilq, ilz; | |||
| @@ -823,7 +823,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGHRD", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Initialize Q and Z if desired. */ | |||
| @@ -838,7 +838,7 @@ f"> */ | |||
| /* Quick return if possible */ | |||
| if (*n <= 1) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Zero out lower triangle of B */ | |||
| @@ -904,7 +904,7 @@ f"> */ | |||
| /* L40: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGGHRD */ | |||
| @@ -694,7 +694,7 @@ f"> */ | |||
| /* > \ingroup complexOTHERsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgglse_(integer *m, integer *n, integer *p, complex *a, | |||
| /* Subroutine */ void cgglse_(integer *m, integer *n, integer *p, complex *a, | |||
| integer *lda, complex *b, integer *ldb, complex *c__, complex *d__, | |||
| complex *x, complex *work, integer *lwork, integer *info) | |||
| { | |||
| @@ -704,20 +704,21 @@ f"> */ | |||
| /* Local variables */ | |||
| integer lopt; | |||
| extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex * | |||
| , complex *, integer *, complex *, integer *, complex *, complex * | |||
| , integer *), ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *), ctrmv_(char *, char *, char *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| integer nb, mn, nr; | |||
| extern /* Subroutine */ int cggrqf_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cggrqf_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, complex *, | |||
| complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| complex *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer lwkmin, nb1, nb2, nb3, nb4; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *), cunmrq_(char *, | |||
| char *, integer *, integer *, integer *, complex *, integer *, | |||
| @@ -798,15 +799,15 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGLSE", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute the GRQ factorization of matrices B and A: */ | |||
| @@ -844,7 +845,7 @@ f"> */ | |||
| if (*info > 0) { | |||
| *info = 1; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Put the solution in X */ | |||
| @@ -869,7 +870,7 @@ f"> */ | |||
| if (*info > 0) { | |||
| *info = 2; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Put the solutions in X */ | |||
| @@ -910,7 +911,7 @@ f"> */ | |||
| i__1 = *p + mn + f2cmax(i__2,i__3); | |||
| work[1].r = (real) i__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGLSE */ | |||
| @@ -728,7 +728,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggqrf_(integer *n, integer *m, integer *p, complex *a, | |||
| /* Subroutine */ void cggqrf_(integer *n, integer *m, integer *p, complex *a, | |||
| integer *lda, complex *taua, complex *b, integer *ldb, complex *taub, | |||
| complex *work, integer *lwork, integer *info) | |||
| { | |||
| @@ -737,14 +737,15 @@ f"> */ | |||
| /* Local variables */ | |||
| integer lopt, nb; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), cgerqf_( | |||
| integer *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer nb1, nb2, nb3; | |||
| extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer lwkopt; | |||
| @@ -808,9 +809,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGQRF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* QR factorization of N-by-M matrix A: A = Q*R */ | |||
| @@ -835,7 +836,7 @@ f"> */ | |||
| i__1 = f2cmax(i__2,i__3); | |||
| work[1].r = (real) i__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGQRF */ | |||
| @@ -727,7 +727,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggrqf_(integer *m, integer *p, integer *n, complex *a, | |||
| /* Subroutine */ void cggrqf_(integer *m, integer *p, integer *n, complex *a, | |||
| integer *lda, complex *taua, complex *b, integer *ldb, complex *taub, | |||
| complex *work, integer *lwork, integer *info) | |||
| { | |||
| @@ -736,14 +736,15 @@ f"> */ | |||
| /* Local variables */ | |||
| integer lopt, nb; | |||
| extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *, integer *), cgerqf_( | |||
| integer *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer nb1, nb2, nb3; | |||
| extern /* Subroutine */ int cunmrq_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunmrq_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *, integer *); | |||
| integer lwkopt; | |||
| @@ -807,9 +808,9 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGRQF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* RQ factorization of M-by-N matrix A: A = R*Q */ | |||
| @@ -836,7 +837,7 @@ f"> */ | |||
| i__1 = f2cmax(i__2,i__3); | |||
| work[1].r = (real) i__1, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGGRQF */ | |||
| @@ -866,7 +866,7 @@ static integer c__1 = 1; | |||
| /* > CGGSVD3 replaces the deprecated subroutine CGGSVD. */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggsvd3_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void cggsvd3_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *n, integer *p, integer *k, integer *l, complex *a, integer * | |||
| lda, complex *b, integer *ldb, real *alpha, real *beta, complex *u, | |||
| integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq, | |||
| @@ -887,20 +887,20 @@ static integer c__1 = 1; | |||
| extern logical lsame_(char *, char *); | |||
| real anorm, bnorm; | |||
| logical wantq; | |||
| extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *, | |||
| extern /* Subroutine */ void scopy_(integer *, real *, integer *, real *, | |||
| integer *); | |||
| logical wantu, wantv; | |||
| extern real clange_(char *, integer *, integer *, complex *, integer *, | |||
| real *), slamch_(char *); | |||
| extern /* Subroutine */ int ctgsja_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void ctgsja_(char *, char *, char *, integer *, | |||
| integer *, integer *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *, real *, real *, real *, real *, complex *, | |||
| integer *, complex *, integer *, complex *, integer *, complex *, | |||
| integer *, integer *), xerbla_(char *, | |||
| integer *, ftnlen); | |||
| integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int cggsvp3_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void cggsvp3_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| real *, real *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *, complex *, integer *, integer *, real *, | |||
| @@ -996,10 +996,10 @@ static integer c__1 = 1; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGSVD3", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Compute the Frobenius norm of matrices A and B */ | |||
| @@ -1062,7 +1062,7 @@ static integer c__1 = 1; | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGGSVD3 */ | |||
| @@ -791,7 +791,7 @@ static integer c_n1 = -1; | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggsvp3_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void cggsvp3_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *p, integer *n, complex *a, integer *lda, complex *b, integer | |||
| *ldb, real *tola, real *tolb, integer *k, integer *l, complex *u, | |||
| integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq, | |||
| @@ -807,7 +807,7 @@ static integer c_n1 = -1; | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| logical wantq, wantu, wantv; | |||
| extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *, | |||
| integer *, integer *, complex *, complex *, integer *, real *, | |||
| integer *), cgeqr2_(integer *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *), cgerq2_(integer *, integer *, | |||
| @@ -820,8 +820,9 @@ static integer c_n1 = -1; | |||
| complex *, integer *, complex *, integer *), | |||
| clacpy_(char *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *), claset_(char *, integer *, integer | |||
| *, complex *, complex *, complex *, integer *), xerbla_( | |||
| char *, integer *, ftnlen), clapmt_(logical *, integer *, integer | |||
| *, complex *, complex *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void clapmt_(logical *, integer *, integer | |||
| *, complex *, integer *, integer *); | |||
| logical forwrd; | |||
| integer lwkopt; | |||
| @@ -927,10 +928,10 @@ static integer c_n1 = -1; | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGSVP3", &i__1, (ftnlen)7); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* QR with column pivoting of B: B*P = V*( S11 S12 ) */ | |||
| @@ -1186,7 +1187,7 @@ static integer c_n1 = -1; | |||
| q__1.r = (real) lwkopt, q__1.i = 0.f; | |||
| work[1].r = q__1.r, work[1].i = q__1.i; | |||
| return 0; | |||
| return; | |||
| /* End of CGGSVP3 */ | |||
| @@ -732,7 +732,7 @@ f"> */ | |||
| /* > drmac@math.hr. Thank you. */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgsvj0_(char *jobv, integer *m, integer *n, complex *a, | |||
| /* Subroutine */ void cgsvj0_(char *jobv, integer *m, integer *n, complex *a, | |||
| integer *lda, complex *d__, real *sva, integer *mv, complex *v, | |||
| integer *ldv, real *eps, real *sfmin, real *tol, integer *nsweep, | |||
| complex *work, integer *lwork, integer *info) | |||
| @@ -749,7 +749,7 @@ f"> */ | |||
| real aaqq; | |||
| integer ierr; | |||
| real bigtheta; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| complex ompq; | |||
| integer pskipped; | |||
| @@ -761,22 +761,23 @@ f"> */ | |||
| real apoaq, aqoap; | |||
| extern logical lsame_(char *, char *); | |||
| real theta, small; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| logical applv, rsvec; | |||
| extern /* Subroutine */ int caxpy_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| logical rotok; | |||
| real rootsfmin; | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| real cs, sn; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer ijblsk, swband; | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| integer blskip; | |||
| extern /* Subroutine */ int classq_(integer *, complex *, integer *, real | |||
| extern /* Subroutine */ void classq_(integer *, complex *, integer *, real | |||
| *, real *); | |||
| real mxaapq, thsign, mxsinj; | |||
| integer ir1, emptsw, notrot, iswrot, jbc; | |||
| @@ -840,7 +841,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGSVJ0", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (rsvec) { | |||
| @@ -1661,6 +1662,6 @@ L1995: | |||
| /* L5991: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } /* cgsvj0_ */ | |||
| @@ -751,7 +751,7 @@ f"> */ | |||
| /* > Zlatko Drmac (Zagreb, Croatia) */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgsvj1_(char *jobv, integer *m, integer *n, integer *n1, | |||
| /* Subroutine */ void cgsvj1_(char *jobv, integer *m, integer *n, integer *n1, | |||
| complex *a, integer *lda, complex *d__, real *sva, integer *mv, | |||
| complex *v, integer *ldv, real *eps, real *sfmin, real *tol, integer * | |||
| nsweep, complex *work, integer *lwork, integer *info) | |||
| @@ -769,7 +769,7 @@ f"> */ | |||
| real aaqq; | |||
| integer nblr, ierr; | |||
| real bigtheta; | |||
| extern /* Subroutine */ int crot_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void crot_(integer *, complex *, integer *, | |||
| complex *, integer *, real *, complex *); | |||
| complex ompq; | |||
| integer pskipped; | |||
| @@ -781,22 +781,23 @@ f"> */ | |||
| real apoaq, aqoap; | |||
| extern logical lsame_(char *, char *); | |||
| real theta, small; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), cswap_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| logical applv, rsvec; | |||
| extern /* Subroutine */ int caxpy_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| logical rotok; | |||
| real rootsfmin; | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| real cs, sn; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer ijblsk, swband; | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| integer blskip; | |||
| extern /* Subroutine */ int classq_(integer *, complex *, integer *, real | |||
| extern /* Subroutine */ void classq_(integer *, complex *, integer *, real | |||
| *, real *); | |||
| real mxaapq, thsign, mxsinj; | |||
| integer emptsw, notrot, iswrot, jbc; | |||
| @@ -860,7 +861,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGSVJ1", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (rsvec) { | |||
| @@ -1345,6 +1346,6 @@ L1995: | |||
| } | |||
| return 0; | |||
| return; | |||
| } /* cgsvj1_ */ | |||
| @@ -653,7 +653,7 @@ f"> */ | |||
| /* > \ingroup complexGTcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgtcon_(char *norm, integer *n, complex *dl, complex * | |||
| /* Subroutine */ void cgtcon_(char *norm, integer *n, complex *dl, complex * | |||
| d__, complex *du, complex *du2, integer *ipiv, real *anorm, real * | |||
| rcond, complex *work, integer *info) | |||
| { | |||
| @@ -664,11 +664,12 @@ f"> */ | |||
| integer kase, kase1, i__; | |||
| extern logical lsame_(char *, char *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *), xerbla_(char *, integer *, ftnlen); | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| real ainvnm; | |||
| logical onenrm; | |||
| extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, complex *, integer *, complex *, integer | |||
| *, integer *); | |||
| @@ -705,7 +706,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGTCON", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -713,9 +714,9 @@ f"> */ | |||
| *rcond = 0.f; | |||
| if (*n == 0) { | |||
| *rcond = 1.f; | |||
| return 0; | |||
| return; | |||
| } else if (*anorm == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Check that D(1:N) is non-zero. */ | |||
| @@ -724,7 +725,7 @@ f"> */ | |||
| for (i__ = 1; i__ <= i__1; ++i__) { | |||
| i__2 = i__; | |||
| if (d__[i__2].r == 0.f && d__[i__2].i == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* L10: */ | |||
| } | |||
| @@ -761,7 +762,7 @@ L20: | |||
| *rcond = 1.f / ainvnm / *anorm; | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGTCON */ | |||
| @@ -724,7 +724,7 @@ f"> */ | |||
| /* > \ingroup complexGTcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgtrfs_(char *trans, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgtrfs_(char *trans, integer *n, integer *nrhs, complex * | |||
| dl, complex *d__, complex *du, complex *dlf, complex *df, complex * | |||
| duf, complex *du2, integer *ipiv, complex *b, integer *ldb, complex * | |||
| x, integer *ldx, real *ferr, real *berr, complex *work, real *rwork, | |||
| @@ -744,11 +744,11 @@ f"> */ | |||
| real s; | |||
| extern logical lsame_(char *, char *); | |||
| integer isave[3]; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| integer count; | |||
| extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real | |||
| extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real | |||
| *, integer *, integer *), clagtm_(char *, integer *, integer *, | |||
| real *, complex *, complex *, complex *, complex *, integer *, | |||
| real *, complex *, integer *); | |||
| @@ -758,7 +758,7 @@ f"> */ | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| logical notran; | |||
| char transn[1]; | |||
| extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, complex *, integer *, complex *, integer | |||
| *, integer *); | |||
| char transt[1]; | |||
| @@ -814,7 +814,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGTRFS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -826,7 +826,7 @@ f"> */ | |||
| berr[j] = 0.f; | |||
| /* L10: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| if (notran) { | |||
| @@ -1131,7 +1131,7 @@ L70: | |||
| /* L110: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGTRFS */ | |||
| @@ -633,7 +633,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* > \ingroup complexGTsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgtsv_(integer *n, integer *nrhs, complex *dl, complex * | |||
| /* Subroutine */ void cgtsv_(integer *n, integer *nrhs, complex *dl, complex * | |||
| d__, complex *du, complex *b, integer *ldb, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -676,11 +676,11 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGTSV ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *n - 1; | |||
| @@ -697,7 +697,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* solution can not be found. */ | |||
| *info = k; | |||
| return 0; | |||
| return; | |||
| } | |||
| } else /* if(complicated condition) */ { | |||
| i__2 = k; | |||
| @@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| i__1 = *n; | |||
| if (d__[i__1].r == 0.f && d__[i__1].i == 0.f) { | |||
| *info = *n; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Back solve with the matrix U from the factorization. */ | |||
| @@ -826,7 +826,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ | |||
| /* L50: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGTSV */ | |||
| @@ -805,7 +805,7 @@ f"> */ | |||
| /* > \ingroup complexGTsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgtsvx_(char *fact, char *trans, integer *n, integer * | |||
| /* Subroutine */ void cgtsvx_(char *fact, char *trans, integer *n, integer * | |||
| nrhs, complex *dl, complex *d__, complex *du, complex *dlf, complex * | |||
| df, complex *duf, complex *du2, integer *ipiv, complex *b, integer * | |||
| ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr, | |||
| @@ -818,22 +818,23 @@ f"> */ | |||
| char norm[1]; | |||
| extern logical lsame_(char *, char *); | |||
| real anorm; | |||
| extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, | |||
| extern /* Subroutine */ void ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *); | |||
| extern real slamch_(char *), clangt_(char *, integer *, complex *, | |||
| complex *, complex *); | |||
| logical nofact; | |||
| extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, integer *), cgtcon_(char *, | |||
| integer *, complex *, complex *, complex *, complex *, integer *, | |||
| real *, real *, complex *, integer *), xerbla_(char *, | |||
| integer *, ftnlen), cgtrfs_(char *, integer *, integer *, complex | |||
| real *, real *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cgtrfs_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, complex *, complex *, complex *, complex | |||
| *, integer *, complex *, integer *, complex *, integer *, real *, | |||
| real *, complex *, real *, integer *), cgttrf_(integer *, | |||
| complex *, complex *, complex *, complex *, integer *, integer *); | |||
| logical notran; | |||
| extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, complex *, integer *, complex *, integer | |||
| *, integer *); | |||
| @@ -888,7 +889,7 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGTSVX", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| if (nofact) { | |||
| @@ -908,7 +909,7 @@ f"> */ | |||
| if (*info > 0) { | |||
| *rcond = 0.f; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -945,7 +946,7 @@ f"> */ | |||
| *info = *n + 1; | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGTSVX */ | |||
| @@ -633,7 +633,7 @@ f"> */ | |||
| /* > \ingroup complexGTcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgttrf_(integer *n, complex *dl, complex *d__, complex * | |||
| /* Subroutine */ void cgttrf_(integer *n, complex *dl, complex *d__, complex * | |||
| du, complex *du2, integer *ipiv, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -669,13 +669,13 @@ f"> */ | |||
| *info = -1; | |||
| i__1 = -(*info); | |||
| xerbla_("CGTTRF", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Initialize IPIV(i) = i and DU2(i) = 0 */ | |||
| @@ -811,7 +811,7 @@ f"> */ | |||
| } | |||
| L50: | |||
| return 0; | |||
| return; | |||
| /* End of CGTTRF */ | |||
| @@ -651,7 +651,7 @@ f"> */ | |||
| /* > \ingroup complexGTcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgttrs_(char *trans, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgttrs_(char *trans, integer *n, integer *nrhs, complex * | |||
| dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex * | |||
| b, integer *ldb, integer *info) | |||
| { | |||
| @@ -660,7 +660,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer j; | |||
| extern /* Subroutine */ int cgtts2_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cgtts2_(integer *, integer *, integer *, | |||
| complex *, complex *, complex *, complex *, integer *, complex *, | |||
| integer *); | |||
| integer jb, nb; | |||
| @@ -707,13 +707,13 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGTTRS", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0 || *nrhs == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Decode TRANS */ | |||
| @@ -756,6 +756,6 @@ f"> */ | |||
| /* End of CGTTRS */ | |||
| return 0; | |||
| return; | |||
| } /* cgttrs_ */ | |||
| @@ -638,7 +638,7 @@ f"> */ | |||
| /* > \ingroup complexGTcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgtts2_(integer *itrans, integer *n, integer *nrhs, | |||
| /* Subroutine */ void cgtts2_(integer *itrans, integer *n, integer *nrhs, | |||
| complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv, | |||
| complex *b, integer *ldb) | |||
| { | |||
| @@ -674,7 +674,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (*n == 0 || *nrhs == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*itrans == 0) { | |||
| @@ -1142,6 +1142,6 @@ L130: | |||
| /* End of CGTTS2 */ | |||
| return 0; | |||
| return; | |||
| } /* cgtts2_ */ | |||
| @@ -680,7 +680,7 @@ kernels.f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int chb2st_kernels_(char *uplo, logical *wantz, integer * | |||
| /* Subroutine */ void chb2st_kernels_(char *uplo, logical *wantz, integer * | |||
| ttype, integer *st, integer *ed, integer *sweep, integer *n, integer * | |||
| nb, integer *ib, complex *a, integer *lda, complex *v, complex *tau, | |||
| integer *ldvt, complex *work) | |||
| @@ -695,10 +695,10 @@ kernels.f"> */ | |||
| extern logical lsame_(char *, char *); | |||
| logical upper; | |||
| integer j1, j2, lm, ln; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *); | |||
| integer ajeter; | |||
| extern /* Subroutine */ int clarfx_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clarfx_(char *, integer *, integer *, complex | |||
| *, complex *, complex *, integer *, complex *), clarfy_( | |||
| char *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *, complex *); | |||
| @@ -917,7 +917,7 @@ kernels.f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* END OF CHB2ST_KERNELS */ | |||
| @@ -666,7 +666,7 @@ atrices</b> */ | |||
| /* > \ingroup complexOTHEReigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int chbev_(char *jobz, char *uplo, integer *n, integer *kd, | |||
| /* Subroutine */ void chbev_(char *jobz, char *uplo, integer *n, integer *kd, | |||
| complex *ab, integer *ldab, real *w, complex *z__, integer *ldz, | |||
| complex *work, real *rwork, integer *info) | |||
| { | |||
| @@ -681,12 +681,12 @@ atrices</b> */ | |||
| real rmin, rmax, sigma; | |||
| extern logical lsame_(char *, char *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *); | |||
| extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *); | |||
| logical lower, wantz; | |||
| extern real clanhb_(char *, char *, integer *, integer *, complex *, | |||
| integer *, real *); | |||
| integer iscale; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *), chbtrd_(char *, char *, integer *, integer *, complex *, | |||
| integer *, real *, real *, complex *, integer *, complex *, | |||
| integer *); | |||
| @@ -695,7 +695,7 @@ atrices</b> */ | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| integer indrwk; | |||
| extern /* Subroutine */ int csteqr_(char *, integer *, real *, real *, | |||
| extern /* Subroutine */ void csteqr_(char *, integer *, real *, real *, | |||
| complex *, integer *, real *, integer *), ssterf_(integer | |||
| *, real *, real *, integer *); | |||
| real smlnum, eps; | |||
| @@ -745,13 +745,13 @@ atrices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CHBEV ", &i__1, (ftnlen)6); | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 1) { | |||
| @@ -766,7 +766,7 @@ atrices</b> */ | |||
| i__1 = z_dim1 + 1; | |||
| z__[i__1].r = 1.f, z__[i__1].i = 0.f; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. */ | |||
| @@ -827,7 +827,7 @@ atrices</b> */ | |||
| sscal_(&imax, &r__1, &w[1], &c__1); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CHBEV */ | |||
| @@ -729,7 +729,7 @@ stage.f"> */ | |||
| /* > \endverbatim */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int chbev_2stage_(char *jobz, char *uplo, integer *n, | |||
| /* Subroutine */ void chbev_2stage_(char *jobz, char *uplo, integer *n, | |||
| integer *kd, complex *ab, integer *ldab, real *w, complex *z__, | |||
| integer *ldz, complex *work, integer *lwork, real *rwork, integer * | |||
| info) | |||
| @@ -739,7 +739,7 @@ stage.f"> */ | |||
| real r__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int chetrd_hb2st_(char *, char *, char *, | |||
| extern /* Subroutine */ void chetrd_hb2st_(char *, char *, char *, | |||
| integer *, integer *, complex *, integer *, real *, real *, | |||
| complex *, integer *, complex *, integer *, integer *); | |||
| integer inde; | |||
| @@ -750,7 +750,7 @@ stage.f"> */ | |||
| real rmin, rmax, sigma; | |||
| extern logical lsame_(char *, char *); | |||
| integer iinfo; | |||
| extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *); | |||
| extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *); | |||
| integer lhtrd, lwmin; | |||
| logical lower; | |||
| integer lwtrd; | |||
| @@ -759,14 +759,14 @@ stage.f"> */ | |||
| extern real clanhb_(char *, char *, integer *, integer *, complex *, | |||
| integer *, real *); | |||
| integer iscale; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *); | |||
| extern real slamch_(char *); | |||
| real safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| real bignum; | |||
| integer indwrk, indrwk; | |||
| extern /* Subroutine */ int csteqr_(char *, integer *, real *, real *, | |||
| extern /* Subroutine */ void csteqr_(char *, integer *, real *, real *, | |||
| complex *, integer *, real *, integer *), ssterf_(integer | |||
| *, real *, real *, integer *); | |||
| integer llwork; | |||
| @@ -842,15 +842,15 @@ stage.f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CHBEV_2STAGE ", &i__1, (ftnlen)13); | |||
| return 0; | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*n == 1) { | |||
| @@ -865,7 +865,7 @@ stage.f"> */ | |||
| i__1 = z_dim1 + 1; | |||
| z__[i__1].r = 1.f, z__[i__1].i = 0.f; | |||
| } | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants. */ | |||
| @@ -935,7 +935,7 @@ stage.f"> */ | |||
| work[1].r = (real) lwmin, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CHBEV_2STAGE */ | |||