diff options
author | 2009-11-26 03:26:41 +0100 | |
---|---|---|
committer | 2009-11-26 03:26:41 +0100 | |
commit | e95f736402958e9fef27977d35389ef134f7e73d (patch) | |
tree | 1a775f6365f9c7e7cb5e73e39c5c0f0644e6798e /unsupported | |
parent | 746c787a763ed8be1bbba1e42310d8b968feacd0 (diff) |
reduce ei_qrsolv() signature, wa is actually a 'working array'
Diffstat (limited to 'unsupported')
-rw-r--r-- | unsupported/Eigen/src/NonLinearOptimization/lmpar.h | 2 | ||||
-rw-r--r-- | unsupported/Eigen/src/NonLinearOptimization/qrsolv.h | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/unsupported/Eigen/src/NonLinearOptimization/lmpar.h b/unsupported/Eigen/src/NonLinearOptimization/lmpar.h index c62881c81..ef1b64083 100644 --- a/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +++ b/unsupported/Eigen/src/NonLinearOptimization/lmpar.h @@ -123,7 +123,7 @@ void ei_lmpar( wa1 = temp * diag; ipvt.cwise()+=1; // qrsolv() expects the fortran convention (as qrfac provides) - ei_qrsolv<Scalar>(n, r.data(), r.rows(), ipvt.data(), wa1.data(), qtb.data(), x.data(), sdiag.data(), wa2.data()); + ei_qrsolv<Scalar>(n, r.data(), r.rows(), ipvt.data(), wa1.data(), qtb.data(), x.data(), sdiag.data()); ipvt.cwise()-=1; wa2 = diag.cwise() * x; diff --git a/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h b/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h index 57884870c..cbb45107a 100644 --- a/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +++ b/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h @@ -1,8 +1,8 @@ - template <typename Scalar> +template <typename Scalar> void ei_qrsolv(int n, Scalar *r__, int ldr, const int *ipvt, const Scalar *diag, const Scalar *qtb, Scalar *x, - Scalar *sdiag, Scalar *wa) + Scalar *sdiag) { /* System generated locals */ int r_dim1, r_offset; @@ -12,9 +12,9 @@ void ei_qrsolv(int n, Scalar *r__, int ldr, Scalar tan__, cos__, sin__, sum, temp, cotan; int nsing; Scalar qtbpj; + Matrix< Scalar, Dynamic, 1 > wa(n+1); /* Parameter adjustments */ - --wa; --sdiag; --x; --qtb; |