aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
diff options
context:
space:
mode:
Diffstat (limited to 'unsupported/Eigen/src/NonLinearOptimization/fdjac1.h')
-rw-r--r--unsupported/Eigen/src/NonLinearOptimization/fdjac1.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h b/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
index 3dc1e8070..74cf53b90 100644
--- a/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
+++ b/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
@@ -1,24 +1,26 @@
template<typename FunctorType, typename Scalar>
-int ei_fdjac1(
+DenseIndex ei_fdjac1(
const FunctorType &Functor,
Matrix< Scalar, Dynamic, 1 > &x,
Matrix< Scalar, Dynamic, 1 > &fvec,
Matrix< Scalar, Dynamic, Dynamic > &fjac,
- int ml, int mu,
+ DenseIndex ml, DenseIndex mu,
Scalar epsfcn)
{
+ typedef DenseIndex Index;
+
/* Local variables */
Scalar h;
- int j, k;
+ Index j, k;
Scalar eps, temp;
- int msum;
+ Index msum;
int iflag;
- int start, length;
+ Index start, length;
/* Function Body */
const Scalar epsmch = NumTraits<Scalar>::epsilon();
- const int n = x.size();
+ const Index n = x.size();
assert(fvec.size()==n);
Matrix< Scalar, Dynamic, 1 > wa1(n);
Matrix< Scalar, Dynamic, 1 > wa2(n);
@@ -57,7 +59,7 @@ int ei_fdjac1(
h = eps * ei_abs(wa2[j]);
if (h == 0.) h = eps;
fjac.col(j).setZero();
- start = std::max(0,j-mu);
+ start = std::max<Index>(0,j-mu);
length = std::min(n-1, j+ml) - start + 1;
fjac.col(j).segment(start, length) = ( wa1.segment(start, length)-fvec.segment(start, length))/h;
}