| @@ -740,7 +740,7 @@ rices</b> */ | |||
| /* > \ingroup complexGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgegs_(char *jobvsl, char *jobvsr, integer *n, complex * | |||
| /* Subroutine */ void cgegs_(char *jobvsl, char *jobvsr, integer *n, complex * | |||
| a, integer *lda, complex *b, integer *ldb, complex *alpha, complex * | |||
| beta, complex *vsl, integer *ldvsl, complex *vsr, integer *ldvsr, | |||
| complex *work, integer *lwork, real *rwork, integer *info) | |||
| @@ -758,7 +758,7 @@ rices</b> */ | |||
| integer iwork; | |||
| logical ilvsr; | |||
| 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 *, | |||
| @@ -766,24 +766,24 @@ rices</b> */ | |||
| integer nb; | |||
| 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 *); | |||
| real safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ 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 *); | |||
| @@ -791,7 +791,7 @@ rices</b> */ | |||
| real anrmto; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| 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 | |||
| @@ -898,16 +898,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEGS ", &i__1); | |||
| return 0; | |||
| xerbla_("CGEGS ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -934,7 +934,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -955,7 +955,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1092,13 +1092,13 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| clascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alpha[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1107,20 +1107,20 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| clascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| L10: | |||
| work[1].r = (real) lwkopt, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEGS */ | |||
| @@ -799,7 +799,7 @@ rices</b> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgegv_(char *jobvl, char *jobvr, integer *n, complex *a, | |||
| /* Subroutine */ void cgegv_(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) | |||
| @@ -819,7 +819,7 @@ rices</b> */ | |||
| real anrm1, anrm2, bnrm1, bnrm2, absai, scale, absar, sbeta; | |||
| extern logical lsame_(char *, char *); | |||
| integer ileft, iinfo, icols, iwork, 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 *, | |||
| @@ -828,40 +828,40 @@ rices</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 *); | |||
| real salfai; | |||
| extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, complex *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer *, | |||
| complex *, complex *, integer *, integer *); | |||
| real salfar; | |||
| 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 *); | |||
| real safmin; | |||
| extern /* Subroutine */ int ctgevc_(char *, char *, logical *, integer *, | |||
| extern /* Subroutine */ void ctgevc_(char *, char *, logical *, integer *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *, | |||
| complex *, integer *, integer *, integer *, complex *, real *, | |||
| integer *); | |||
| real safmax; | |||
| char chtemp[1]; | |||
| logical ldumma[1]; | |||
| 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 *), | |||
| xerbla_(char *, integer *); | |||
| complex *, integer *, real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ijobvl, iright; | |||
| logical ilimit; | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int cungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void cungqr_(integer *, integer *, integer *, | |||
| complex *, integer *, complex *, complex *, integer *, integer *); | |||
| integer lwkmin, 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 irwork, lwkopt; | |||
| @@ -969,16 +969,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEGV ", &i__1); | |||
| return 0; | |||
| xerbla_("CGEGV ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1005,7 +1005,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1026,7 +1026,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1353,7 +1353,7 @@ L60: | |||
| L80: | |||
| work[1].r = (real) lwkopt, work[1].i = 0.f; | |||
| return 0; | |||
| return; | |||
| /* End of CGEGV */ | |||
| @@ -700,7 +700,7 @@ f"> */ | |||
| /* > \ingroup complexGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgelsx_(integer *m, integer *n, integer *nrhs, complex * | |||
| /* Subroutine */ void cgelsx_(integer *m, integer *n, integer *nrhs, complex * | |||
| a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond, | |||
| integer *rank, complex *work, real *rwork, integer *info) | |||
| { | |||
| @@ -712,31 +712,31 @@ f"> */ | |||
| real anrm, bnrm, smin, smax; | |||
| integer i__, j, k, iascl, ibscl, 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 *); | |||
| complex s1, s2, t1, t2; | |||
| extern /* Subroutine */ int cunm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunm2r_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *), 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 *), cgeqpf_(integer *, integer *, complex *, integer *, | |||
| integer *, complex *, complex *, real *, 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); | |||
| real bignum; | |||
| extern /* Subroutine */ int clatzm_(char *, integer *, integer *, complex | |||
| extern /* Subroutine */ void clatzm_(char *, integer *, integer *, complex | |||
| *, integer *, complex *, complex *, complex *, integer *, complex | |||
| *); | |||
| real sminpr; | |||
| extern /* Subroutine */ int ctzrqf_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void ctzrqf_(integer *, integer *, complex *, | |||
| integer *, complex *, integer *); | |||
| real smaxpr, smlnum; | |||
| @@ -787,8 +787,8 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGELSX", &i__1); | |||
| return 0; | |||
| xerbla_("CGELSX", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -797,7 +797,7 @@ f"> */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -1029,7 +1029,7 @@ L70: | |||
| L100: | |||
| return 0; | |||
| return; | |||
| /* End of CGELSX */ | |||
| @@ -661,7 +661,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cgeqpf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void cgeqpf_(integer *m, integer *n, complex *a, integer *lda, | |||
| integer *jpvt, complex *tau, complex *work, real *rwork, integer * | |||
| info) | |||
| { | |||
| @@ -674,21 +674,21 @@ f"> */ | |||
| real temp, temp2; | |||
| integer i__, j; | |||
| real tol3z; | |||
| extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * | |||
| extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex * | |||
| , integer *, complex *, complex *, integer *, complex *), | |||
| cswap_(integer *, complex *, integer *, complex *, integer *); | |||
| integer itemp; | |||
| extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *); | |||
| extern real scnrm2_(integer *, complex *, integer *); | |||
| extern /* Subroutine */ int cunm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void cunm2r_(char *, char *, integer *, integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *, | |||
| complex *, integer *); | |||
| integer ma, mn; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *); | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| complex aii; | |||
| integer pvt; | |||
| @@ -725,8 +725,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGEQPF", &i__1); | |||
| return 0; | |||
| xerbla_("CGEQPF", &i__1, 6); | |||
| return; | |||
| } | |||
| mn = f2cmin(*m,*n); | |||
| @@ -865,7 +865,7 @@ f"> */ | |||
| /* L40: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGEQPF */ | |||
| @@ -849,7 +849,7 @@ f"> */ | |||
| /* > California at Berkeley, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void cggsvd_(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, | |||
| @@ -868,17 +868,18 @@ f"> */ | |||
| 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 *), cggsvp_(char *, char *, char *, integer *, | |||
| integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void cggsvp_(char *, char *, char *, integer *, | |||
| integer *, integer *, complex *, integer *, complex *, integer *, | |||
| real *, real *, integer *, integer *, complex *, integer *, | |||
| complex *, integer *, complex *, integer *, integer *, real *, | |||
| @@ -950,8 +951,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGSVD", &i__1); | |||
| return 0; | |||
| xerbla_("CGGSVD", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Compute the Frobenius norm of matrices A and B */ | |||
| @@ -1011,7 +1012,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGGSVD */ | |||
| @@ -774,7 +774,7 @@ f"> */ | |||
| /* > a matrix. It may be replaced by a better rank determination strategy. */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int cggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void cggsvp_(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, | |||
| @@ -790,7 +790,7 @@ f"> */ | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| logical wantq, wantu, wantv; | |||
| extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *, | |||
| integer *, complex *, complex *, integer *), cgerq2_(integer *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *), | |||
| cung2r_(integer *, integer *, integer *, complex *, integer *, | |||
| @@ -802,8 +802,9 @@ f"> */ | |||
| integer *, complex *, complex *, real *, integer *), clacpy_(char | |||
| *, integer *, integer *, complex *, integer *, complex *, integer | |||
| *), claset_(char *, integer *, integer *, complex *, | |||
| complex *, complex *, integer *), xerbla_(char *, integer | |||
| *), 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; | |||
| @@ -872,8 +873,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CGGSVP", &i__1); | |||
| return 0; | |||
| xerbla_("CGGSVP", &i__1, 6); | |||
| return; | |||
| } | |||
| /* QR with column pivoting of B: B*P = V*( S11 S12 ) */ | |||
| @@ -1131,7 +1132,7 @@ f"> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CGGSVP */ | |||
| @@ -684,7 +684,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int clahrd_(integer *n, integer *k, integer *nb, complex *a, | |||
| /* Subroutine */ void clahrd_(integer *n, integer *k, integer *nb, complex *a, | |||
| integer *lda, complex *tau, complex *t, integer *ldt, complex *y, | |||
| integer *ldy) | |||
| { | |||
| @@ -695,7 +695,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| extern /* Subroutine */ int cscal_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void cscal_(integer *, complex *, complex *, | |||
| integer *), cgemv_(char *, integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, complex *, | |||
| integer *), ccopy_(integer *, complex *, integer *, | |||
| @@ -703,7 +703,7 @@ f"> */ | |||
| integer *, complex *, integer *), ctrmv_(char *, char *, char *, | |||
| integer *, complex *, integer *, complex *, integer *); | |||
| complex ei; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *), clacgv_(integer *, complex *, integer *); | |||
| @@ -732,7 +732,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (*n <= 1) { | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *nb; | |||
| @@ -856,7 +856,7 @@ f"> */ | |||
| i__1 = *k + *nb + *nb * a_dim1; | |||
| a[i__1].r = ei.r, a[i__1].i = ei.i; | |||
| return 0; | |||
| return; | |||
| /* End of CLAHRD */ | |||
| @@ -666,7 +666,7 @@ f"> */ | |||
| /* > \ingroup complexOTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int clatzm_(char *side, integer *m, integer *n, complex *v, | |||
| /* Subroutine */ void clatzm_(char *side, integer *m, integer *n, complex *v, | |||
| integer *incv, complex *tau, complex *c1, complex *c2, integer *ldc, | |||
| complex *work) | |||
| { | |||
| @@ -675,12 +675,12 @@ f"> */ | |||
| complex q__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int cgerc_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgerc_(integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *), | |||
| cgemv_(char *, integer *, integer *, complex *, complex *, | |||
| integer *, complex *, integer *, complex *, complex *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int cgeru_(integer *, integer *, complex *, | |||
| extern /* Subroutine */ void cgeru_(integer *, integer *, complex *, | |||
| complex *, integer *, complex *, integer *, complex *, integer *), | |||
| ccopy_(integer *, complex *, integer *, complex *, integer *), | |||
| caxpy_(integer *, complex *, complex *, integer *, complex *, | |||
| @@ -708,7 +708,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (f2cmin(*m,*n) == 0 || tau->r == 0.f && tau->i == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(side, "L")) { | |||
| @@ -751,7 +751,7 @@ f"> */ | |||
| ldc); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CLATZM */ | |||
| @@ -652,7 +652,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int ctzrqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| /* Subroutine */ void ctzrqf_(integer *m, integer *n, complex *a, integer *lda, | |||
| complex *tau, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -661,18 +661,18 @@ f"> */ | |||
| /* 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 *), ccopy_(integer *, complex *, integer *, | |||
| complex *, integer *), caxpy_(integer *, complex *, complex *, | |||
| integer *, complex *, integer *); | |||
| integer m1; | |||
| extern /* Subroutine */ int clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *), clacgv_(integer *, complex *, integer *), | |||
| xerbla_(char *, integer *); | |||
| extern /* Subroutine */ void clarfg_(integer *, complex *, complex *, | |||
| integer *, complex *), clacgv_(integer *, complex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -703,14 +703,14 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("CTZRQF", &i__1); | |||
| return 0; | |||
| xerbla_("CTZRQF", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Perform the factorization. */ | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == *n) { | |||
| i__1 = *n; | |||
| @@ -783,7 +783,7 @@ f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of CTZRQF */ | |||
| @@ -742,7 +742,7 @@ rices</b> */ | |||
| /* > \ingroup doubleGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dgegs_(char *jobvsl, char *jobvsr, integer *n, | |||
| /* Subroutine */ void dgegs_(char *jobvsl, char *jobvsr, integer *n, | |||
| doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal * | |||
| alphar, doublereal *alphai, doublereal *beta, doublereal *vsl, | |||
| integer *ldvsl, doublereal *vsr, integer *ldvsr, doublereal *work, | |||
| @@ -761,45 +761,45 @@ rices</b> */ | |||
| integer iwork; | |||
| logical ilvsr; | |||
| integer irows; | |||
| extern /* Subroutine */ int dggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dggbak_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, doublereal *, integer *, doublereal *, | |||
| integer *, integer *); | |||
| integer nb; | |||
| extern /* Subroutine */ int dggbal_(char *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dggbal_(char *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *, integer *, integer *, | |||
| doublereal *, doublereal *, doublereal *, integer *); | |||
| extern doublereal dlamch_(char *), dlange_(char *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *); | |||
| extern /* Subroutine */ int dgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dgghrd_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| doublereal *, integer *, doublereal *, integer *, integer *), dlascl_(char *, integer *, integer *, doublereal | |||
| *, doublereal *, integer *, integer *, doublereal *, integer *, | |||
| integer *); | |||
| logical ilascl, ilbscl; | |||
| extern /* Subroutine */ int dgeqrf_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dgeqrf_(integer *, integer *, doublereal *, | |||
| integer *, doublereal *, doublereal *, integer *, integer *), | |||
| dlacpy_(char *, integer *, integer *, doublereal *, integer *, | |||
| doublereal *, integer *); | |||
| doublereal safmin; | |||
| extern /* Subroutine */ int dlaset_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, doublereal *, integer *), | |||
| xerbla_(char *, integer *); | |||
| extern /* Subroutine */ void dlaset_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, doublereal *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| doublereal bignum; | |||
| extern /* Subroutine */ int dhgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void dhgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, doublereal *, integer *, doublereal *, | |||
| integer *, doublereal *, doublereal *, doublereal *, doublereal *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| integer *); | |||
| integer ijobvl, iright, ijobvr; | |||
| extern /* Subroutine */ int dorgqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void dorgqr_(integer *, integer *, integer *, | |||
| doublereal *, integer *, doublereal *, doublereal *, integer *, | |||
| integer *); | |||
| doublereal anrmto; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| doublereal bnrmto; | |||
| extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dormqr_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *, integer *, integer *); | |||
| doublereal smlnum; | |||
| @@ -904,16 +904,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGEGS ", &i__1); | |||
| return 0; | |||
| xerbla_("DGEGS ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -940,7 +940,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -961,7 +961,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1098,19 +1098,19 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| dlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphar[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| dlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphai[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1119,20 +1119,20 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| dlascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| L10: | |||
| work[1] = (doublereal) lwkopt; | |||
| return 0; | |||
| return; | |||
| /* End of DGEGS */ | |||
| @@ -822,7 +822,7 @@ rices</b> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dgegv_(char *jobvl, char *jobvr, integer *n, doublereal * | |||
| /* Subroutine */ void dgegv_(char *jobvl, char *jobvr, integer *n, doublereal * | |||
| a, integer *lda, doublereal *b, integer *ldb, doublereal *alphar, | |||
| doublereal *alphai, doublereal *beta, doublereal *vl, integer *ldvl, | |||
| doublereal *vr, integer *ldvr, doublereal *work, integer *lwork, | |||
| @@ -842,11 +842,11 @@ rices</b> */ | |||
| doublereal anrm1, anrm2, bnrm1, bnrm2, absai, scale, absar, sbeta; | |||
| extern logical lsame_(char *, char *); | |||
| integer ileft, iinfo, icols, iwork, irows, jc; | |||
| extern /* Subroutine */ int dggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dggbak_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, doublereal *, integer *, doublereal *, | |||
| integer *, integer *); | |||
| integer nb; | |||
| extern /* Subroutine */ int dggbal_(char *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dggbal_(char *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *, integer *, integer *, | |||
| doublereal *, doublereal *, doublereal *, integer *); | |||
| integer in; | |||
| @@ -854,42 +854,42 @@ rices</b> */ | |||
| integer *, doublereal *, integer *, doublereal *); | |||
| integer jr; | |||
| doublereal salfai; | |||
| extern /* Subroutine */ int dgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dgghrd_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| doublereal *, integer *, doublereal *, integer *, integer *), dlascl_(char *, integer *, integer *, doublereal | |||
| *, doublereal *, integer *, integer *, doublereal *, integer *, | |||
| integer *); | |||
| doublereal salfar; | |||
| extern /* Subroutine */ int dgeqrf_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dgeqrf_(integer *, integer *, doublereal *, | |||
| integer *, doublereal *, doublereal *, integer *, integer *), | |||
| dlacpy_(char *, integer *, integer *, doublereal *, integer *, | |||
| doublereal *, integer *); | |||
| doublereal safmin; | |||
| extern /* Subroutine */ int dlaset_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dlaset_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, doublereal *, integer *); | |||
| doublereal safmax; | |||
| char chtemp[1]; | |||
| logical ldumma[1]; | |||
| extern /* Subroutine */ int dhgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void dhgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, doublereal *, integer *, doublereal *, | |||
| integer *, doublereal *, doublereal *, doublereal *, doublereal *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| integer *), dtgevc_(char *, char *, | |||
| logical *, integer *, doublereal *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| integer *, integer *, doublereal *, integer *), | |||
| xerbla_(char *, integer *); | |||
| integer *, integer *, doublereal *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| integer ijobvl, iright; | |||
| logical ilimit; | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int dorgqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void dorgqr_(integer *, integer *, integer *, | |||
| doublereal *, integer *, doublereal *, doublereal *, integer *, | |||
| integer *); | |||
| doublereal onepls; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dormqr_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *, integer *, integer *); | |||
| integer lwkopt; | |||
| @@ -997,16 +997,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGEGV ", &i__1); | |||
| return 0; | |||
| xerbla_("DGEGV ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1034,7 +1034,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1055,7 +1055,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1426,7 +1426,7 @@ L100: | |||
| L120: | |||
| work[1] = (doublereal) lwkopt; | |||
| return 0; | |||
| return; | |||
| /* End of DGEGV */ | |||
| @@ -694,7 +694,7 @@ f"> */ | |||
| /* > \ingroup doubleGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dgelsx_(integer *m, integer *n, integer *nrhs, | |||
| /* Subroutine */ void dgelsx_(integer *m, integer *n, integer *nrhs, | |||
| doublereal *a, integer *lda, doublereal *b, integer *ldb, integer * | |||
| jpvt, doublereal *rcond, integer *rank, doublereal *work, integer * | |||
| info) | |||
| @@ -707,32 +707,32 @@ f"> */ | |||
| doublereal anrm, bnrm, smin, smax; | |||
| integer i__, j, k, iascl, ibscl, ismin, ismax; | |||
| doublereal c1, c2; | |||
| extern /* Subroutine */ int dtrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void dtrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, doublereal *, doublereal *, integer *, | |||
| doublereal *, integer *), dlaic1_( | |||
| integer *, integer *, doublereal *, doublereal *, doublereal *, | |||
| doublereal *, doublereal *, doublereal *, doublereal *); | |||
| doublereal s1, s2, t1, t2; | |||
| extern /* Subroutine */ int dorm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void dorm2r_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *, integer *), dlabad_( | |||
| doublereal *, doublereal *); | |||
| extern doublereal dlamch_(char *), dlange_(char *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *); | |||
| integer mn; | |||
| extern /* Subroutine */ int dlascl_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dlascl_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, integer *, doublereal *, | |||
| integer *, integer *), dgeqpf_(integer *, integer *, | |||
| doublereal *, integer *, integer *, doublereal *, doublereal *, | |||
| integer *), dlaset_(char *, integer *, integer *, doublereal *, | |||
| doublereal *, doublereal *, integer *), xerbla_(char *, | |||
| integer *); | |||
| doublereal *, doublereal *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| doublereal bignum; | |||
| extern /* Subroutine */ int dlatzm_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dlatzm_(char *, integer *, integer *, | |||
| doublereal *, integer *, doublereal *, doublereal *, doublereal *, | |||
| integer *, doublereal *); | |||
| doublereal sminpr, smaxpr, smlnum; | |||
| extern /* Subroutine */ int dtzrqf_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dtzrqf_(integer *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *); | |||
| @@ -781,8 +781,8 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGELSX", &i__1); | |||
| return 0; | |||
| xerbla_("DGELSX", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -791,7 +791,7 @@ f"> */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -999,7 +999,7 @@ L70: | |||
| L100: | |||
| return 0; | |||
| return; | |||
| /* End of DGELSX */ | |||
| @@ -655,7 +655,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dgeqpf_(integer *m, integer *n, doublereal *a, integer * | |||
| /* Subroutine */ void dgeqpf_(integer *m, integer *n, doublereal *a, integer * | |||
| lda, integer *jpvt, doublereal *tau, doublereal *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -668,11 +668,11 @@ f"> */ | |||
| doublereal temp2; | |||
| integer i__, j; | |||
| doublereal tol3z; | |||
| extern /* Subroutine */ int dlarf_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dlarf_(char *, integer *, integer *, | |||
| doublereal *, integer *, doublereal *, doublereal *, integer *, | |||
| doublereal *); | |||
| integer itemp; | |||
| extern /* Subroutine */ int dswap_(integer *, doublereal *, integer *, | |||
| extern /* Subroutine */ void dswap_(integer *, doublereal *, integer *, | |||
| doublereal *, integer *), dgeqr2_(integer *, integer *, | |||
| doublereal *, integer *, doublereal *, doublereal *, integer *), | |||
| dorm2r_(char *, char *, integer *, integer *, integer *, | |||
| @@ -681,10 +681,10 @@ f"> */ | |||
| integer ma; | |||
| extern doublereal dlamch_(char *); | |||
| integer mn; | |||
| extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *, | |||
| extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *); | |||
| extern integer idamax_(integer *, doublereal *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| doublereal aii; | |||
| integer pvt; | |||
| @@ -719,8 +719,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGEQPF", &i__1); | |||
| return 0; | |||
| xerbla_("DGEQPF", &i__1, 6); | |||
| return; | |||
| } | |||
| mn = f2cmin(*m,*n); | |||
| @@ -854,7 +854,7 @@ f"> */ | |||
| /* L40: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of DGEQPF */ | |||
| @@ -845,7 +845,7 @@ f"> */ | |||
| /* > California at Berkeley, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void dggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *n, integer *p, integer *k, integer *l, doublereal *a, | |||
| integer *lda, doublereal *b, integer *ldb, doublereal *alpha, | |||
| doublereal *beta, doublereal *u, integer *ldu, doublereal *v, integer | |||
| @@ -864,17 +864,19 @@ f"> */ | |||
| integer ncallmycycle, i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| doublereal anorm, bnorm; | |||
| extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, | |||
| extern /* Subroutine */ void dcopy_(integer *, doublereal *, integer *, | |||
| doublereal *, integer *); | |||
| logical wantq, wantu, wantv; | |||
| extern doublereal dlamch_(char *), dlange_(char *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *); | |||
| extern /* Subroutine */ int dtgsja_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void dtgsja_(char *, char *, char *, integer *, | |||
| integer *, integer *, integer *, integer *, doublereal *, integer | |||
| *, doublereal *, integer *, doublereal *, doublereal *, | |||
| doublereal *, doublereal *, doublereal *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| integer *), xerbla_(char *, integer *), dggsvp_(char *, char *, char *, integer *, integer *, | |||
| integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void dggsvp_(char *, char *, char *, integer *, integer *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| doublereal *, doublereal *, integer *, integer *, doublereal *, | |||
| integer *, doublereal *, integer *, doublereal *, integer *, | |||
| @@ -945,8 +947,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGGSVD", &i__1); | |||
| return 0; | |||
| xerbla_("DGGSVD", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Compute the Frobenius norm of matrices A and B */ | |||
| @@ -1007,7 +1009,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of DGGSVD */ | |||
| @@ -768,7 +768,7 @@ f"> */ | |||
| /* > a matrix. It may be replaced by a better rank determination strategy. */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void dggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *p, integer *n, doublereal *a, integer *lda, doublereal *b, | |||
| integer *ldb, doublereal *tola, doublereal *tolb, integer *k, integer | |||
| *l, doublereal *u, integer *ldu, doublereal *v, integer *ldv, | |||
| @@ -784,7 +784,7 @@ f"> */ | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| logical wantq, wantu, wantv; | |||
| extern /* Subroutine */ int dgeqr2_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dgeqr2_(integer *, integer *, doublereal *, | |||
| integer *, doublereal *, doublereal *, integer *), dgerq2_( | |||
| integer *, integer *, doublereal *, integer *, doublereal *, | |||
| doublereal *, integer *), dorg2r_(integer *, integer *, integer *, | |||
| @@ -797,7 +797,9 @@ f"> */ | |||
| integer *, integer *, doublereal *, doublereal *, integer *), | |||
| dlacpy_(char *, integer *, integer *, doublereal *, integer *, | |||
| doublereal *, integer *), dlaset_(char *, integer *, | |||
| integer *, doublereal *, doublereal *, doublereal *, integer *), xerbla_(char *, integer *), dlapmt_(logical *, | |||
| integer *, doublereal *, doublereal *, doublereal *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void dlapmt_(logical *, | |||
| integer *, integer *, doublereal *, integer *, integer *); | |||
| logical forwrd; | |||
| @@ -865,8 +867,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DGGSVP", &i__1); | |||
| return 0; | |||
| xerbla_("DGGSVP", &i__1, 6); | |||
| return; | |||
| } | |||
| /* QR with column pivoting of B: B*P = V*( S11 S12 ) */ | |||
| @@ -1115,7 +1117,7 @@ f"> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of DGGSVP */ | |||
| @@ -685,7 +685,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dlahrd_(integer *n, integer *k, integer *nb, doublereal * | |||
| /* Subroutine */ void dlahrd_(integer *n, integer *k, integer *nb, doublereal * | |||
| a, integer *lda, doublereal *tau, doublereal *t, integer *ldt, | |||
| doublereal *y, integer *ldy) | |||
| { | |||
| @@ -696,7 +696,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, | |||
| extern /* Subroutine */ void dscal_(integer *, doublereal *, doublereal *, | |||
| integer *), dgemv_(char *, integer *, integer *, doublereal *, | |||
| doublereal *, integer *, doublereal *, integer *, doublereal *, | |||
| doublereal *, integer *), dcopy_(integer *, doublereal *, | |||
| @@ -705,7 +705,7 @@ f"> */ | |||
| *, char *, char *, integer *, doublereal *, integer *, doublereal | |||
| *, integer *); | |||
| doublereal ei; | |||
| extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *, | |||
| extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *); | |||
| @@ -734,7 +734,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (*n <= 1) { | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *nb; | |||
| @@ -843,7 +843,7 @@ f"> */ | |||
| } | |||
| a[*k + *nb + *nb * a_dim1] = ei; | |||
| return 0; | |||
| return; | |||
| /* End of DLAHRD */ | |||
| @@ -665,7 +665,7 @@ f"> */ | |||
| /* > \ingroup doubleOTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dlatzm_(char *side, integer *m, integer *n, doublereal * | |||
| /* Subroutine */ void dlatzm_(char *side, integer *m, integer *n, doublereal * | |||
| v, integer *incv, doublereal *tau, doublereal *c1, doublereal *c2, | |||
| integer *ldc, doublereal *work) | |||
| { | |||
| @@ -674,11 +674,11 @@ f"> */ | |||
| doublereal d__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int dger_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dger_(integer *, integer *, doublereal *, | |||
| doublereal *, integer *, doublereal *, integer *, doublereal *, | |||
| integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int dgemv_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dgemv_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, doublereal *, integer *, | |||
| doublereal *, doublereal *, integer *), dcopy_(integer *, | |||
| doublereal *, integer *, doublereal *, integer *), daxpy_(integer | |||
| @@ -707,7 +707,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (f2cmin(*m,*n) == 0 || *tau == 0.) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(side, "L")) { | |||
| @@ -748,7 +748,7 @@ f"> */ | |||
| ldc); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of DLATZM */ | |||
| @@ -652,7 +652,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int dtzrqf_(integer *m, integer *n, doublereal *a, integer * | |||
| /* Subroutine */ void dtzrqf_(integer *m, integer *n, doublereal *a, integer * | |||
| lda, doublereal *tau, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -660,19 +660,20 @@ f"> */ | |||
| doublereal d__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int dger_(integer *, integer *, doublereal *, | |||
| extern /* Subroutine */ void dger_(integer *, integer *, doublereal *, | |||
| doublereal *, integer *, doublereal *, integer *, doublereal *, | |||
| integer *); | |||
| integer i__, k; | |||
| extern /* Subroutine */ int dgemv_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void dgemv_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, doublereal *, integer *, | |||
| doublereal *, doublereal *, integer *), dcopy_(integer *, | |||
| doublereal *, integer *, doublereal *, integer *), daxpy_(integer | |||
| *, doublereal *, doublereal *, integer *, doublereal *, integer *) | |||
| ; | |||
| integer m1; | |||
| extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *), xerbla_(char *, integer *); | |||
| extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *, | |||
| integer *, doublereal *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| /* -- LAPACK computational routine (version 3.7.0) -- */ | |||
| @@ -703,14 +704,14 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("DTZRQF", &i__1); | |||
| return 0; | |||
| xerbla_("DTZRQF", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Perform the factorization. */ | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == *n) { | |||
| i__1 = *n; | |||
| @@ -768,7 +769,7 @@ f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of DTZRQF */ | |||
| @@ -742,7 +742,7 @@ ices</b> */ | |||
| /* > \ingroup realGEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sgegs_(char *jobvsl, char *jobvsr, integer *n, real *a, | |||
| /* Subroutine */ void sgegs_(char *jobvsl, char *jobvsr, integer *n, real *a, | |||
| integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real | |||
| *beta, real *vsl, integer *ldvsl, real *vsr, integer *ldvsr, real * | |||
| work, integer *lwork, integer *info) | |||
| @@ -760,7 +760,7 @@ ices</b> */ | |||
| integer iwork; | |||
| logical ilvsr; | |||
| integer irows, nb; | |||
| extern /* Subroutine */ int sggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, real *, integer *, integer * | |||
| ), sggbal_(char *, integer *, real *, integer *, | |||
| real *, integer *, integer *, integer *, real *, real *, real *, | |||
| @@ -769,35 +769,35 @@ ices</b> */ | |||
| extern real slamch_(char *), slange_(char *, integer *, integer *, | |||
| real *, integer *, real *); | |||
| real safmin; | |||
| extern /* Subroutine */ int sgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sgghrd_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, real *, integer *, real *, integer * | |||
| , real *, integer *, integer *), xerbla_(char *, | |||
| integer *); | |||
| , real *, integer *, 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 *); | |||
| integer ijobvl, iright; | |||
| extern /* Subroutine */ int sgeqrf_(integer *, integer *, real *, integer | |||
| extern /* Subroutine */ void sgeqrf_(integer *, integer *, real *, integer | |||
| *, real *, real *, integer *, integer *); | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int slacpy_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slacpy_(char *, integer *, integer *, real *, | |||
| integer *, real *, integer *), slaset_(char *, integer *, | |||
| integer *, real *, real *, real *, integer *); | |||
| real anrmto; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| real bnrmto; | |||
| extern /* Subroutine */ int shgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void shgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, real *, integer *, real *, integer *, real * | |||
| , real *, real *, real *, integer *, real *, integer *, real *, | |||
| integer *, integer *); | |||
| real smlnum; | |||
| extern /* Subroutine */ int sorgqr_(integer *, integer *, integer *, real | |||
| extern /* Subroutine */ void sorgqr_(integer *, integer *, integer *, real | |||
| *, integer *, real *, real *, integer *, integer *); | |||
| integer lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int sormqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sormqr_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, real *, real *, integer *, real *, | |||
| integer *, integer *); | |||
| integer ihi, ilo; | |||
| @@ -899,16 +899,16 @@ ices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGEGS ", &i__1); | |||
| return 0; | |||
| xerbla_("SGEGS ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -935,7 +935,7 @@ ices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -956,7 +956,7 @@ ices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1093,19 +1093,19 @@ ices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| slascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphar[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| slascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphai[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1114,20 +1114,20 @@ ices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| slascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| L10: | |||
| work[1] = (real) lwkopt; | |||
| return 0; | |||
| return; | |||
| /* End of SGEGS */ | |||
| @@ -822,7 +822,7 @@ rices</b> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sgegv_(char *jobvl, char *jobvr, integer *n, real *a, | |||
| /* Subroutine */ void sgegv_(char *jobvl, char *jobvr, integer *n, real *a, | |||
| integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real | |||
| *beta, real *vl, integer *ldvl, real *vr, integer *ldvr, real *work, | |||
| integer *lwork, integer *info) | |||
| @@ -842,7 +842,7 @@ rices</b> */ | |||
| extern logical lsame_(char *, char *); | |||
| integer ileft, iinfo, icols, iwork, irows, jc, nb, in, jr; | |||
| real salfai; | |||
| extern /* Subroutine */ int sggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sggbak_(char *, char *, integer *, integer *, | |||
| integer *, real *, real *, integer *, real *, integer *, integer * | |||
| ), sggbal_(char *, integer *, real *, integer *, | |||
| real *, integer *, integer *, integer *, real *, real *, real *, | |||
| @@ -851,22 +851,23 @@ rices</b> */ | |||
| extern real slamch_(char *), slange_(char *, integer *, integer *, | |||
| real *, integer *, real *); | |||
| real safmin; | |||
| extern /* Subroutine */ int sgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sgghrd_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, real *, integer *, real *, integer * | |||
| , real *, integer *, integer *); | |||
| real safmax; | |||
| char chtemp[1]; | |||
| logical ldumma[1]; | |||
| extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *), xerbla_(char *, integer *); | |||
| extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *, | |||
| real *, integer *, integer *, real *, integer *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| integer ijobvl, iright; | |||
| logical ilimit; | |||
| extern /* Subroutine */ int sgeqrf_(integer *, integer *, real *, integer | |||
| extern /* Subroutine */ void sgeqrf_(integer *, integer *, real *, integer | |||
| *, real *, real *, integer *, integer *); | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int slacpy_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slacpy_(char *, integer *, integer *, real *, | |||
| integer *, real *, integer *), slaset_(char *, integer *, | |||
| integer *, real *, real *, real *, integer *), stgevc_( | |||
| char *, char *, logical *, integer *, real *, integer *, real *, | |||
| @@ -874,7 +875,7 @@ rices</b> */ | |||
| integer *, real *, integer *); | |||
| real onepls; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| extern /* Subroutine */ int shgeqz_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void shgeqz_(char *, char *, char *, integer *, | |||
| integer *, integer *, real *, integer *, real *, integer *, real * | |||
| , real *, real *, real *, integer *, real *, integer *, real *, | |||
| integer *, integer *), sorgqr_(integer *, | |||
| @@ -882,7 +883,7 @@ rices</b> */ | |||
| , integer *); | |||
| integer lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int sormqr_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sormqr_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, real *, real *, integer *, real *, | |||
| integer *, integer *); | |||
| integer ihi, ilo; | |||
| @@ -988,16 +989,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGEGV ", &i__1); | |||
| return 0; | |||
| xerbla_("SGEGV ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1025,7 +1026,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1046,7 +1047,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1417,7 +1418,7 @@ L100: | |||
| L120: | |||
| work[1] = (real) lwkopt; | |||
| return 0; | |||
| return; | |||
| /* End of SGEGV */ | |||
| @@ -694,7 +694,7 @@ f"> */ | |||
| /* > \ingroup realGEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sgelsx_(integer *m, integer *n, integer *nrhs, real *a, | |||
| /* Subroutine */ void sgelsx_(integer *m, integer *n, integer *nrhs, real *a, | |||
| integer *lda, real *b, integer *ldb, integer *jpvt, real *rcond, | |||
| integer *rank, real *work, integer *info) | |||
| { | |||
| @@ -706,7 +706,7 @@ f"> */ | |||
| real anrm, bnrm, smin, smax; | |||
| integer i__, j, k, iascl, ibscl, ismin, ismax; | |||
| real c1, c2, s1, s2, t1, t2; | |||
| extern /* Subroutine */ int strsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void strsm_(char *, char *, char *, char *, | |||
| integer *, integer *, real *, real *, integer *, real *, integer * | |||
| ), slaic1_(integer *, integer *, | |||
| real *, real *, real *, real *, real *, real *, real *), sorm2r_( | |||
| @@ -716,14 +716,14 @@ f"> */ | |||
| integer mn; | |||
| extern real slamch_(char *), slange_(char *, integer *, integer *, | |||
| real *, integer *, real *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, 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 *), sgeqpf_(integer *, integer *, real *, integer *, integer | |||
| *, real *, real *, integer *), slaset_(char *, integer *, integer | |||
| *, real *, real *, real *, integer *); | |||
| real sminpr, smaxpr, smlnum; | |||
| extern /* Subroutine */ int slatzm_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slatzm_(char *, integer *, integer *, real *, | |||
| integer *, real *, real *, real *, integer *, real *), | |||
| stzrqf_(integer *, integer *, real *, integer *, real *, integer * | |||
| ); | |||
| @@ -774,8 +774,8 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGELSX", &i__1); | |||
| return 0; | |||
| xerbla_("SGELSX", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -784,7 +784,7 @@ f"> */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -992,7 +992,7 @@ L70: | |||
| L100: | |||
| return 0; | |||
| return; | |||
| /* End of SGELSX */ | |||
| @@ -655,7 +655,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sgeqpf_(integer *m, integer *n, real *a, integer *lda, | |||
| /* Subroutine */ void sgeqpf_(integer *m, integer *n, real *a, integer *lda, | |||
| integer *jpvt, real *tau, real *work, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -667,19 +667,20 @@ f"> */ | |||
| extern real snrm2_(integer *, real *, integer *); | |||
| integer i__, j; | |||
| real tol3z; | |||
| extern /* Subroutine */ int slarf_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void slarf_(char *, integer *, integer *, real *, | |||
| integer *, real *, real *, integer *, real *); | |||
| integer itemp; | |||
| extern /* Subroutine */ int sswap_(integer *, real *, integer *, real *, | |||
| extern /* Subroutine */ void sswap_(integer *, real *, integer *, real *, | |||
| integer *), sgeqr2_(integer *, integer *, real *, integer *, real | |||
| *, real *, integer *); | |||
| integer ma; | |||
| extern /* Subroutine */ int sorm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void sorm2r_(char *, char *, integer *, integer *, | |||
| integer *, real *, integer *, real *, real *, integer *, real *, | |||
| integer *); | |||
| integer mn; | |||
| extern real slamch_(char *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *), slarfg_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern void slarfg_( | |||
| integer *, real *, real *, integer *, real *); | |||
| extern integer isamax_(integer *, real *, integer *); | |||
| real aii; | |||
| @@ -716,8 +717,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGEQPF", &i__1); | |||
| return 0; | |||
| xerbla_("SGEQPF", &i__1, 6); | |||
| return; | |||
| } | |||
| mn = f2cmin(*m,*n); | |||
| @@ -851,7 +852,7 @@ f"> */ | |||
| /* L40: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of SGEQPF */ | |||
| @@ -845,7 +845,7 @@ f"> */ | |||
| /* > California at Berkeley, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void sggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *n, integer *p, integer *k, integer *l, real *a, integer *lda, | |||
| real *b, integer *ldb, real *alpha, real *beta, real *u, integer * | |||
| ldu, real *v, integer *ldv, real *q, integer *ldq, real *work, | |||
| @@ -864,12 +864,13 @@ f"> */ | |||
| 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 slamch_(char *), slange_(char *, integer *, integer *, | |||
| real *, integer *, real *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *), stgsja_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern void stgsja_( | |||
| char *, char *, char *, integer *, integer *, integer *, integer * | |||
| , integer *, real *, integer *, real *, integer *, real *, real *, | |||
| real *, real *, real *, integer *, real *, integer *, real *, | |||
| @@ -944,8 +945,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGGSVD", &i__1); | |||
| return 0; | |||
| xerbla_("SGGSVD", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Compute the Frobenius norm of matrices A and B */ | |||
| @@ -1006,7 +1007,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of SGGSVD */ | |||
| @@ -768,7 +768,7 @@ f"> */ | |||
| /* > a matrix. It may be replaced by a better rank determination strategy. */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int sggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void sggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *p, integer *n, real *a, integer *lda, real *b, integer *ldb, | |||
| real *tola, real *tolb, integer *k, integer *l, real *u, integer *ldu, | |||
| real *v, integer *ldv, real *q, integer *ldq, integer *iwork, real * | |||
| @@ -783,13 +783,15 @@ f"> */ | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| logical wantq, wantu, wantv; | |||
| extern /* Subroutine */ int sgeqr2_(integer *, integer *, real *, integer | |||
| extern /* Subroutine */ void sgeqr2_(integer *, integer *, real *, integer | |||
| *, real *, real *, integer *), sgerq2_(integer *, integer *, real | |||
| *, integer *, real *, real *, integer *), sorg2r_(integer *, | |||
| integer *, integer *, real *, integer *, real *, real *, integer * | |||
| ), sorm2r_(char *, char *, integer *, integer *, integer *, real * | |||
| , integer *, real *, real *, integer *, real *, integer *), sormr2_(char *, char *, integer *, integer *, integer *, | |||
| real *, integer *, real *, real *, integer *, real *, integer *), xerbla_(char *, integer *), sgeqpf_( | |||
| real *, integer *, real *, real *, integer *, real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void sgeqpf_( | |||
| integer *, integer *, real *, integer *, integer *, real *, real * | |||
| , integer *), slacpy_(char *, integer *, integer *, real *, | |||
| integer *, real *, integer *), slaset_(char *, integer *, | |||
| @@ -861,8 +863,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("SGGSVP", &i__1); | |||
| return 0; | |||
| xerbla_("SGGSVP", &i__1, 6); | |||
| return; | |||
| } | |||
| /* QR with column pivoting of B: B*P = V*( S11 S12 ) */ | |||
| @@ -1111,7 +1113,7 @@ f"> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of SGGSVP */ | |||
| @@ -685,7 +685,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int slahrd_(integer *n, integer *k, integer *nb, real *a, | |||
| /* Subroutine */ void slahrd_(integer *n, integer *k, integer *nb, real *a, | |||
| integer *lda, real *tau, real *t, integer *ldt, real *y, integer *ldy) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -695,14 +695,14 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *), | |||
| extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *), | |||
| sgemv_(char *, integer *, integer *, real *, real *, integer *, | |||
| real *, integer *, real *, real *, integer *), scopy_( | |||
| integer *, real *, integer *, real *, integer *), saxpy_(integer * | |||
| , real *, real *, integer *, real *, integer *), strmv_(char *, | |||
| char *, char *, integer *, real *, integer *, real *, integer *); | |||
| real ei; | |||
| extern /* Subroutine */ int slarfg_(integer *, real *, real *, integer *, | |||
| extern /* Subroutine */ void slarfg_(integer *, real *, real *, integer *, | |||
| real *); | |||
| @@ -731,7 +731,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (*n <= 1) { | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *nb; | |||
| @@ -840,7 +840,7 @@ f"> */ | |||
| } | |||
| a[*k + *nb + *nb * a_dim1] = ei; | |||
| return 0; | |||
| return; | |||
| /* End of SLAHRD */ | |||
| @@ -665,7 +665,7 @@ f"> */ | |||
| /* > \ingroup realOTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int slatzm_(char *side, integer *m, integer *n, real *v, | |||
| /* Subroutine */ void slatzm_(char *side, integer *m, integer *n, real *v, | |||
| integer *incv, real *tau, real *c1, real *c2, integer *ldc, real * | |||
| work) | |||
| { | |||
| @@ -674,10 +674,10 @@ f"> */ | |||
| real r__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int sger_(integer *, integer *, real *, real *, | |||
| extern /* Subroutine */ void sger_(integer *, integer *, real *, real *, | |||
| integer *, real *, integer *, real *, integer *); | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int sgemv_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void sgemv_(char *, integer *, integer *, real *, | |||
| real *, integer *, real *, integer *, real *, real *, integer *), scopy_(integer *, real *, integer *, real *, integer *), | |||
| saxpy_(integer *, real *, real *, integer *, real *, integer *); | |||
| @@ -703,7 +703,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (f2cmin(*m,*n) == 0 || *tau == 0.f) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(side, "L")) { | |||
| @@ -744,7 +744,7 @@ f"> */ | |||
| ldc); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of SLATZM */ | |||
| @@ -652,7 +652,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int stzrqf_(integer *m, integer *n, real *a, integer *lda, | |||
| /* Subroutine */ void stzrqf_(integer *m, integer *n, real *a, integer *lda, | |||
| real *tau, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -660,14 +660,16 @@ f"> */ | |||
| real r__1; | |||
| /* Local variables */ | |||
| extern /* Subroutine */ int sger_(integer *, integer *, real *, real *, | |||
| extern /* Subroutine */ void sger_(integer *, integer *, real *, real *, | |||
| integer *, real *, integer *, real *, integer *); | |||
| integer i__, k; | |||
| extern /* Subroutine */ int sgemv_(char *, integer *, integer *, real *, | |||
| extern /* Subroutine */ void sgemv_(char *, integer *, integer *, real *, | |||
| real *, integer *, real *, integer *, real *, real *, integer *), scopy_(integer *, real *, integer *, real *, integer *); | |||
| integer m1; | |||
| extern /* Subroutine */ int saxpy_(integer *, real *, real *, integer *, | |||
| real *, integer *), xerbla_(char *, integer *), slarfg_( | |||
| extern /* Subroutine */ void saxpy_(integer *, real *, real *, integer *, | |||
| real *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void slarfg_( | |||
| integer *, real *, real *, integer *, real *); | |||
| @@ -699,14 +701,14 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("STZRQF", &i__1); | |||
| return 0; | |||
| xerbla_("STZRQF", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Perform the factorization. */ | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == *n) { | |||
| i__1 = *n; | |||
| @@ -764,7 +766,7 @@ f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of STZRQF */ | |||
| @@ -740,7 +740,7 @@ rices</b> */ | |||
| /* > \ingroup complex16GEeigen */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zgegs_(char *jobvsl, char *jobvsr, integer *n, | |||
| /* Subroutine */ void zgegs_(char *jobvsl, char *jobvsr, integer *n, | |||
| doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, | |||
| doublecomplex *alpha, doublecomplex *beta, doublecomplex *vsl, | |||
| integer *ldvsl, doublecomplex *vsr, integer *ldvsr, doublecomplex * | |||
| @@ -760,34 +760,34 @@ rices</b> */ | |||
| logical ilvsr; | |||
| integer irows, nb; | |||
| extern doublereal dlamch_(char *); | |||
| extern /* Subroutine */ int zggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zggbak_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, doublereal *, integer *, doublecomplex *, | |||
| integer *, integer *), zggbal_(char *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, integer * | |||
| , integer *, doublereal *, doublereal *, doublereal *, integer *); | |||
| logical ilascl, ilbscl; | |||
| doublereal safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern integer ilaenv_(integer *, char *, char *, integer *, integer *, | |||
| integer *, integer *, ftnlen, ftnlen); | |||
| extern doublereal zlange_(char *, integer *, integer *, doublecomplex *, | |||
| integer *, doublereal *); | |||
| doublereal bignum; | |||
| integer ijobvl, iright; | |||
| extern /* Subroutine */ int zgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zgghrd_(char *, char *, integer *, integer *, | |||
| integer *, doublecomplex *, integer *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, integer * | |||
| ), zlascl_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, integer *, doublecomplex *, | |||
| integer *, integer *); | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int zgeqrf_(integer *, integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zgeqrf_(integer *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, doublecomplex *, integer *, integer * | |||
| ); | |||
| doublereal anrmto; | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| doublereal bnrmto; | |||
| extern /* Subroutine */ int zlacpy_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlacpy_(char *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), | |||
| zhgeqz_(char *, char *, char *, integer *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, | |||
| @@ -799,7 +799,7 @@ rices</b> */ | |||
| doublereal smlnum; | |||
| integer irwork, lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int zungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void zungqr_(integer *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, doublecomplex *, | |||
| integer *, integer *), zunmqr_(char *, char *, integer *, integer | |||
| *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| @@ -903,16 +903,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGEGS ", &i__1); | |||
| return 0; | |||
| xerbla_("ZGEGS ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -939,7 +939,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -960,7 +960,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1097,13 +1097,13 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| zlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alpha[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1112,20 +1112,20 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| zlascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, & | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 9; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| L10: | |||
| work[1].r = (doublereal) lwkopt, work[1].i = 0.; | |||
| return 0; | |||
| return; | |||
| /* End of ZGEGS */ | |||
| @@ -799,7 +799,7 @@ rices</b> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zgegv_(char *jobvl, char *jobvr, integer *n, | |||
| /* Subroutine */ void zgegv_(char *jobvl, char *jobvr, integer *n, | |||
| doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, | |||
| doublecomplex *alpha, doublecomplex *beta, doublecomplex *vl, integer | |||
| *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work, integer | |||
| @@ -823,13 +823,13 @@ rices</b> */ | |||
| extern doublereal dlamch_(char *); | |||
| integer jr; | |||
| doublereal salfai; | |||
| extern /* Subroutine */ int zggbak_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zggbak_(char *, char *, integer *, integer *, | |||
| integer *, doublereal *, doublereal *, integer *, doublecomplex *, | |||
| integer *, integer *), zggbal_(char *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, integer * | |||
| , integer *, doublereal *, doublereal *, doublereal *, integer *); | |||
| doublereal salfar, safmin; | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| doublereal safmax; | |||
| char chtemp[1]; | |||
| logical ldumma[1]; | |||
| @@ -839,18 +839,18 @@ rices</b> */ | |||
| integer *, doublereal *); | |||
| integer ijobvl, iright; | |||
| logical ilimit; | |||
| extern /* Subroutine */ int zgghrd_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zgghrd_(char *, char *, integer *, integer *, | |||
| integer *, doublecomplex *, integer *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, integer * | |||
| ), zlascl_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, integer *, doublecomplex *, | |||
| integer *, integer *); | |||
| integer ijobvr; | |||
| extern /* Subroutine */ int zgeqrf_(integer *, integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zgeqrf_(integer *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, doublecomplex *, integer *, integer * | |||
| ); | |||
| integer lwkmin, nb1, nb2, nb3; | |||
| extern /* Subroutine */ int zlacpy_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlacpy_(char *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), | |||
| zlaset_(char *, integer *, integer *, doublecomplex *, | |||
| doublecomplex *, doublecomplex *, integer *), ztgevc_( | |||
| @@ -864,7 +864,7 @@ rices</b> */ | |||
| integer *, doublecomplex *, integer *, doublereal *, integer *); | |||
| integer irwork, lwkopt; | |||
| logical lquery; | |||
| extern /* Subroutine */ int zungqr_(integer *, integer *, integer *, | |||
| extern /* Subroutine */ void zungqr_(integer *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, doublecomplex *, | |||
| integer *, integer *), zunmqr_(char *, char *, integer *, integer | |||
| *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| @@ -972,16 +972,16 @@ rices</b> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGEGV ", &i__1); | |||
| return 0; | |||
| xerbla_("ZGEGV ", &i__1, 6); | |||
| return; | |||
| } else if (lquery) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| if (*n == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine constants */ | |||
| @@ -1008,7 +1008,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1029,7 +1029,7 @@ rices</b> */ | |||
| iinfo); | |||
| if (iinfo != 0) { | |||
| *info = *n + 10; | |||
| return 0; | |||
| return; | |||
| } | |||
| } | |||
| @@ -1356,7 +1356,7 @@ L60: | |||
| L80: | |||
| work[1].r = (doublereal) lwkopt, work[1].i = 0.; | |||
| return 0; | |||
| return; | |||
| /* End of ZGEGV */ | |||
| @@ -700,7 +700,7 @@ f"> */ | |||
| /* > \ingroup complex16GEsolve */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zgelsx_(integer *m, integer *n, integer *nrhs, | |||
| /* Subroutine */ void zgelsx_(integer *m, integer *n, integer *nrhs, | |||
| doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, | |||
| integer *jpvt, doublereal *rcond, integer *rank, doublecomplex *work, | |||
| doublereal *rwork, integer *info) | |||
| @@ -713,7 +713,7 @@ f"> */ | |||
| doublereal anrm, bnrm, smin, smax; | |||
| integer i__, j, k, iascl, ibscl, ismin, ismax; | |||
| doublecomplex c1, c2, s1, s2, t1, t2; | |||
| extern /* Subroutine */ int ztrsm_(char *, char *, char *, char *, | |||
| extern /* Subroutine */ void ztrsm_(char *, char *, char *, char *, | |||
| integer *, integer *, doublecomplex *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *), | |||
| zlaic1_(integer *, integer *, doublecomplex *, doublereal *, | |||
| @@ -721,13 +721,14 @@ f"> */ | |||
| doublecomplex *), dlabad_(doublereal *, doublereal *); | |||
| extern doublereal dlamch_(char *); | |||
| integer mn; | |||
| extern /* Subroutine */ int zunm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zunm2r_(char *, char *, integer *, integer *, | |||
| integer *, doublecomplex *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), xerbla_(char *, integer *); | |||
| doublecomplex *, integer *, doublecomplex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern doublereal zlange_(char *, integer *, integer *, doublecomplex *, | |||
| integer *, doublereal *); | |||
| doublereal bignum; | |||
| extern /* Subroutine */ int zlascl_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlascl_(char *, integer *, integer *, | |||
| doublereal *, doublereal *, integer *, integer *, doublecomplex *, | |||
| integer *, integer *), zgeqpf_(integer *, integer *, | |||
| doublecomplex *, integer *, integer *, doublecomplex *, | |||
| @@ -735,7 +736,7 @@ f"> */ | |||
| integer *, integer *, doublecomplex *, doublecomplex *, | |||
| doublecomplex *, integer *); | |||
| doublereal sminpr, smaxpr, smlnum; | |||
| extern /* Subroutine */ int zlatzm_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlatzm_(char *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *), ztzrqf_( | |||
| integer *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| @@ -788,8 +789,8 @@ f"> */ | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGELSX", &i__1); | |||
| return 0; | |||
| xerbla_("ZGELSX", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Quick return if possible */ | |||
| @@ -798,7 +799,7 @@ f"> */ | |||
| i__1 = f2cmin(*m,*n); | |||
| if (f2cmin(i__1,*nrhs) == 0) { | |||
| *rank = 0; | |||
| return 0; | |||
| return; | |||
| } | |||
| /* Get machine parameters */ | |||
| @@ -1030,7 +1031,7 @@ L70: | |||
| L100: | |||
| return 0; | |||
| return; | |||
| /* End of ZGELSX */ | |||
| @@ -661,7 +661,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zgeqpf_(integer *m, integer *n, doublecomplex *a, | |||
| /* Subroutine */ void zgeqpf_(integer *m, integer *n, doublecomplex *a, | |||
| integer *lda, integer *jpvt, doublecomplex *tau, doublecomplex *work, | |||
| doublereal *rwork, integer *info) | |||
| { | |||
| @@ -675,7 +675,7 @@ f"> */ | |||
| integer i__, j; | |||
| doublereal tol3z; | |||
| integer itemp; | |||
| extern /* Subroutine */ int zlarf_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlarf_(char *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, doublecomplex *, | |||
| integer *, doublecomplex *), zswap_(integer *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), zgeqr2_( | |||
| @@ -685,11 +685,12 @@ f"> */ | |||
| integer ma; | |||
| extern doublereal dlamch_(char *); | |||
| integer mn; | |||
| extern /* Subroutine */ int zunm2r_(char *, char *, integer *, integer *, | |||
| extern /* Subroutine */ void zunm2r_(char *, char *, integer *, integer *, | |||
| integer *, doublecomplex *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *); | |||
| extern integer idamax_(integer *, doublereal *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *), zlarfg_( | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern void zlarfg_( | |||
| integer *, doublecomplex *, doublecomplex *, integer *, | |||
| doublecomplex *); | |||
| doublecomplex aii; | |||
| @@ -727,8 +728,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGEQPF", &i__1); | |||
| return 0; | |||
| xerbla_("ZGEQPF", &i__1, 6); | |||
| return; | |||
| } | |||
| mn = f2cmin(*m,*n); | |||
| @@ -867,7 +868,7 @@ f"> */ | |||
| /* L40: */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of ZGEQPF */ | |||
| @@ -848,7 +848,7 @@ f"> */ | |||
| /* > California at Berkeley, USA */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void zggsvd_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *n, integer *p, integer *k, integer *l, doublecomplex *a, | |||
| integer *lda, doublecomplex *b, integer *ldb, doublereal *alpha, | |||
| doublereal *beta, doublecomplex *u, integer *ldu, doublecomplex *v, | |||
| @@ -867,14 +867,14 @@ f"> */ | |||
| integer ncallmycycle, i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| doublereal anorm, bnorm; | |||
| extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, | |||
| extern /* Subroutine */ void dcopy_(integer *, doublereal *, integer *, | |||
| doublereal *, integer *); | |||
| logical wantq, wantu, wantv; | |||
| extern doublereal dlamch_(char *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *); | |||
| extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen); | |||
| extern doublereal zlange_(char *, integer *, integer *, doublecomplex *, | |||
| integer *, doublereal *); | |||
| extern /* Subroutine */ int ztgsja_(char *, char *, char *, integer *, | |||
| extern /* Subroutine */ void ztgsja_(char *, char *, char *, integer *, | |||
| integer *, integer *, integer *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, integer *, doublereal *, doublereal *, | |||
| doublereal *, doublereal *, doublecomplex *, integer *, | |||
| @@ -953,8 +953,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGGSVD", &i__1); | |||
| return 0; | |||
| xerbla_("ZGGSVD", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Compute the Frobenius norm of matrices A and B */ | |||
| @@ -1014,7 +1014,7 @@ f"> */ | |||
| /* L20: */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of ZGGSVD */ | |||
| @@ -777,7 +777,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| /* Subroutine */ void zggsvp_(char *jobu, char *jobv, char *jobq, integer *m, | |||
| integer *p, integer *n, doublecomplex *a, integer *lda, doublecomplex | |||
| *b, integer *ldb, doublereal *tola, doublereal *tolb, integer *k, | |||
| integer *l, doublecomplex *u, integer *ldu, doublecomplex *v, integer | |||
| @@ -793,7 +793,7 @@ f"> */ | |||
| integer i__, j; | |||
| extern logical lsame_(char *, char *); | |||
| logical wantq, wantu, wantv; | |||
| extern /* Subroutine */ int zgeqr2_(integer *, integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zgeqr2_(integer *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, doublecomplex *, integer *), zgerq2_( | |||
| integer *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *), zung2r_(integer *, integer *, | |||
| @@ -802,14 +802,15 @@ f"> */ | |||
| integer *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), zunmr2_(char *, char *, integer *, integer *, integer *, | |||
| doublecomplex *, integer *, doublecomplex *, doublecomplex *, | |||
| integer *, doublecomplex *, integer *), xerbla_( | |||
| char *, integer *), zgeqpf_(integer *, integer *, | |||
| integer *, doublecomplex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void zgeqpf_(integer *, integer *, | |||
| doublecomplex *, integer *, integer *, doublecomplex *, | |||
| doublecomplex *, doublereal *, integer *), zlacpy_(char *, | |||
| integer *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| integer *); | |||
| logical forwrd; | |||
| extern /* Subroutine */ int zlaset_(char *, integer *, integer *, | |||
| extern /* Subroutine */ void zlaset_(char *, integer *, integer *, | |||
| doublecomplex *, doublecomplex *, doublecomplex *, integer *), zlapmt_(logical *, integer *, integer *, doublecomplex *, | |||
| integer *, integer *); | |||
| @@ -878,8 +879,8 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZGGSVP", &i__1); | |||
| return 0; | |||
| xerbla_("ZGGSVP", &i__1, 6); | |||
| return; | |||
| } | |||
| /* QR with column pivoting of B: B*P = V*( S11 S12 ) */ | |||
| @@ -1137,7 +1138,7 @@ f"> */ | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of ZGGSVP */ | |||
| @@ -684,7 +684,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zlahrd_(integer *n, integer *k, integer *nb, | |||
| /* Subroutine */ void zlahrd_(integer *n, integer *k, integer *nb, | |||
| doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *t, | |||
| integer *ldt, doublecomplex *y, integer *ldy) | |||
| { | |||
| @@ -695,7 +695,7 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__; | |||
| extern /* Subroutine */ int zscal_(integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zscal_(integer *, doublecomplex *, | |||
| doublecomplex *, integer *), zgemv_(char *, integer *, integer *, | |||
| doublecomplex *, doublecomplex *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, doublecomplex *, integer *), | |||
| @@ -705,7 +705,7 @@ f"> */ | |||
| char *, integer *, doublecomplex *, integer *, doublecomplex *, | |||
| integer *); | |||
| doublecomplex ei; | |||
| extern /* Subroutine */ int zlarfg_(integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zlarfg_(integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *), zlacgv_(integer *, | |||
| doublecomplex *, integer *); | |||
| @@ -735,7 +735,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (*n <= 1) { | |||
| return 0; | |||
| return; | |||
| } | |||
| i__1 = *nb; | |||
| @@ -859,7 +859,7 @@ f"> */ | |||
| i__1 = *k + *nb + *nb * a_dim1; | |||
| a[i__1].r = ei.r, a[i__1].i = ei.i; | |||
| return 0; | |||
| return; | |||
| /* End of ZLAHRD */ | |||
| @@ -666,7 +666,7 @@ f"> */ | |||
| /* > \ingroup complex16OTHERcomputational */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int zlatzm_(char *side, integer *m, integer *n, | |||
| /* Subroutine */ void zlatzm_(char *side, integer *m, integer *n, | |||
| doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex * | |||
| c1, doublecomplex *c2, integer *ldc, doublecomplex *work) | |||
| { | |||
| @@ -676,7 +676,7 @@ f"> */ | |||
| /* Local variables */ | |||
| extern logical lsame_(char *, char *); | |||
| extern /* Subroutine */ int zgerc_(integer *, integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zgerc_(integer *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *), zgemv_(char *, integer *, integer *, | |||
| doublecomplex *, doublecomplex *, integer *, doublecomplex *, | |||
| @@ -710,7 +710,7 @@ f"> */ | |||
| /* Function Body */ | |||
| if (f2cmin(*m,*n) == 0 || tau->r == 0. && tau->i == 0.) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (lsame_(side, "L")) { | |||
| @@ -753,7 +753,7 @@ f"> */ | |||
| ldc); | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of ZLATZM */ | |||
| @@ -652,7 +652,7 @@ f"> */ | |||
| /* > \endverbatim */ | |||
| /* > */ | |||
| /* ===================================================================== */ | |||
| /* Subroutine */ int ztzrqf_(integer *m, integer *n, doublecomplex *a, | |||
| /* Subroutine */ void ztzrqf_(integer *m, integer *n, doublecomplex *a, | |||
| integer *lda, doublecomplex *tau, integer *info) | |||
| { | |||
| /* System generated locals */ | |||
| @@ -662,16 +662,17 @@ f"> */ | |||
| /* Local variables */ | |||
| integer i__, k; | |||
| doublecomplex alpha; | |||
| extern /* Subroutine */ int zgerc_(integer *, integer *, doublecomplex *, | |||
| extern /* Subroutine */ void zgerc_(integer *, integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *), zgemv_(char *, integer *, integer *, | |||
| doublecomplex *, doublecomplex *, integer *, doublecomplex *, | |||
| integer *, doublecomplex *, doublecomplex *, integer *); | |||
| integer m1; | |||
| extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, | |||
| extern /* Subroutine */ void zcopy_(integer *, doublecomplex *, integer *, | |||
| doublecomplex *, integer *), zaxpy_(integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *), xerbla_( | |||
| char *, integer *), zlarfg_(integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *, integer *); | |||
| extern int xerbla_(char *, integer *, ftnlen); | |||
| extern void zlarfg_(integer *, doublecomplex *, | |||
| doublecomplex *, integer *, doublecomplex *), zlacgv_(integer *, | |||
| doublecomplex *, integer *); | |||
| @@ -704,14 +705,14 @@ f"> */ | |||
| } | |||
| if (*info != 0) { | |||
| i__1 = -(*info); | |||
| xerbla_("ZTZRQF", &i__1); | |||
| return 0; | |||
| xerbla_("ZTZRQF", &i__1, 6); | |||
| return; | |||
| } | |||
| /* Perform the factorization. */ | |||
| if (*m == 0) { | |||
| return 0; | |||
| return; | |||
| } | |||
| if (*m == *n) { | |||
| i__1 = *n; | |||
| @@ -784,7 +785,7 @@ f"> */ | |||
| } | |||
| } | |||
| return 0; | |||
| return; | |||
| /* End of ZTZRQF */ | |||