From e95f736402958e9fef27977d35389ef134f7e73d Mon Sep 17 00:00:00 2001 From: Thomas Capricelli Date: Thu, 26 Nov 2009 03:26:41 +0100 Subject: [PATCH] reduce ei_qrsolv() signature, wa is actually a 'working array' --- unsupported/Eigen/src/NonLinearOptimization/lmpar.h | 2 +- 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(n, r.data(), r.rows(), ipvt.data(), wa1.data(), qtb.data(), x.data(), sdiag.data(), wa2.data()); + ei_qrsolv(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 +template 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;