mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
we do not need/use the 'void *p' parameter
This commit is contained in:
@@ -37,11 +37,8 @@ namespace Eigen {
|
||||
//@{
|
||||
|
||||
/* Declarations for minpack */
|
||||
typedef int (*minpack_func_nn)(void *p, int n, const double *x, double *fvec, int iflag );
|
||||
typedef int (*minpack_funcder_nn)(void *p, int n, const double *x, double *fvec, double *fjac, int ldfjac, int iflag );
|
||||
typedef int (*minpack_func_mn)(void *p, int m, int n, const double *x, double *fvec, int iflag );
|
||||
typedef int (*minpack_funcder_mn)(void *p, int m, int n, const double *x, double *fvec, double *fjac, int ldfjac, int iflag );
|
||||
typedef int (*minpack_funcderstr_mn)(void *p, int m, int n, const double *x, double *fvec, double *fjrow, int iflag );
|
||||
typedef int (*minpack_func_nn)(int n, const double *x, double *fvec, int iflag );
|
||||
typedef int (*minpack_func_mn)(int m, int n, const double *x, double *fvec, int iflag );
|
||||
|
||||
#include "src/NonLinear/qrsolv.h"
|
||||
#include "src/NonLinear/r1updt.h"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
template <typename Scalar>
|
||||
int ei_fdjac1(minpack_func_nn fcn, void *p, int n, Scalar *x, const Scalar *
|
||||
int ei_fdjac1(minpack_func_nn fcn, int n, Scalar *x, const Scalar *
|
||||
fvec, Scalar *fjac, int ldfjac, int ml,
|
||||
int mu, Scalar epsfcn, Scalar *wa1, Scalar *wa2)
|
||||
{
|
||||
@@ -41,7 +41,7 @@ int ei_fdjac1(minpack_func_nn fcn, void *p, int n, Scalar *x, const Scalar *
|
||||
h__ = eps;
|
||||
}
|
||||
x[j] = temp + h__;
|
||||
iflag = (*fcn)(p, n, &x[1], &wa1[1], 1);
|
||||
iflag = (*fcn)(n, &x[1], &wa1[1], 1);
|
||||
if (iflag < 0) {
|
||||
goto L30;
|
||||
}
|
||||
@@ -69,7 +69,7 @@ L40:
|
||||
x[j] = wa2[j] + h__;
|
||||
/* L60: */
|
||||
}
|
||||
iflag = (*fcn)(p, n, &x[1], &wa1[1], 1);
|
||||
iflag = (*fcn)(n, &x[1], &wa1[1], 1);
|
||||
if (iflag < 0) {
|
||||
/* goto L100; */
|
||||
return iflag;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
template <typename Scalar>
|
||||
int ei_fdjac2(minpack_func_mn fcn, void *p, int m, int n, Scalar *x,
|
||||
int ei_fdjac2(minpack_func_mn fcn, int m, int n, Scalar *x,
|
||||
const Scalar *fvec, Scalar *fjac, int ldfjac,
|
||||
Scalar epsfcn, Scalar *wa)
|
||||
{
|
||||
@@ -32,7 +32,7 @@ int ei_fdjac2(minpack_func_mn fcn, void *p, int m, int n, Scalar *x,
|
||||
h__ = eps;
|
||||
}
|
||||
x[j] = temp + h__;
|
||||
iflag = (*fcn)(p, m, n, &x[1], &wa[1], 1);
|
||||
iflag = (*fcn)(m, n, &x[1], &wa[1], 1);
|
||||
if (iflag < 0) {
|
||||
/* goto L30; */
|
||||
return iflag;
|
||||
|
||||
@@ -75,7 +75,7 @@ L20:
|
||||
/* evaluate the function at the starting point */
|
||||
/* and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), 1);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), 1);
|
||||
nfev = 1;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -103,7 +103,7 @@ L30:
|
||||
|
||||
/* calculate the jacobian matrix. */
|
||||
|
||||
iflag = ei_fdjac1<Scalar>(Functor::f, 0, n, x.data(), fvec.data(), fjac.data(), ldfjac,
|
||||
iflag = ei_fdjac1<Scalar>(Functor::f, n, x.data(), fvec.data(), fjac.data(), ldfjac,
|
||||
nb_of_subdiagonals, nb_of_superdiagonals, epsfcn, wa1.data(), wa2.data());
|
||||
nfev += msum;
|
||||
if (iflag < 0) {
|
||||
@@ -215,7 +215,7 @@ L180:
|
||||
}
|
||||
iflag = 0;
|
||||
if ((iter - 1) % nprint == 0) {
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), 0);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), 0);
|
||||
}
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -244,7 +244,7 @@ L190:
|
||||
|
||||
/* evaluate the function at x + p and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, n, wa2.data(), wa4.data(), 1);
|
||||
iflag = Functor::f(n, wa2.data(), wa4.data(), 1);
|
||||
++nfev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -404,7 +404,7 @@ L300:
|
||||
info = iflag;
|
||||
}
|
||||
if (nprint > 0) {
|
||||
Functor::f(0, n, x.data(), fvec.data(), 0);
|
||||
Functor::f(n, x.data(), fvec.data(), 0);
|
||||
}
|
||||
return info;
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ L20:
|
||||
/* evaluate the function at the starting point */
|
||||
/* and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), fjac.data(), ldfjac, 1);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), fjac.data(), ldfjac, 1);
|
||||
nfev = 1;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -92,7 +92,7 @@ L30:
|
||||
|
||||
/* calculate the jacobian matrix. */
|
||||
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), fjac.data(), ldfjac, 2);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), fjac.data(), ldfjac, 2);
|
||||
++njev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -203,7 +203,7 @@ L180:
|
||||
}
|
||||
iflag = 0;
|
||||
if ((iter - 1) % nprint == 0) {
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
}
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -232,7 +232,7 @@ L190:
|
||||
|
||||
/* evaluate the function at x + p and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, n, wa2.data(), wa4.data(), fjac.data(), ldfjac, 1);
|
||||
iflag = Functor::f(n, wa2.data(), wa4.data(), fjac.data(), ldfjac, 1);
|
||||
++nfev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -396,7 +396,7 @@ L300:
|
||||
info = iflag;
|
||||
}
|
||||
if (nprint > 0) {
|
||||
iflag = Functor::f(0, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
iflag = Functor::f(n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
}
|
||||
return info;
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ L20:
|
||||
/* evaluate the function at the starting point */
|
||||
/* and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 1);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 1);
|
||||
nfev = 1;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -82,7 +82,7 @@ L30:
|
||||
|
||||
/* calculate the jacobian matrix. */
|
||||
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 2);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 2);
|
||||
++njev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -95,7 +95,7 @@ L30:
|
||||
}
|
||||
iflag = 0;
|
||||
if ((iter - 1) % nprint == 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
}
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -237,7 +237,7 @@ L200:
|
||||
|
||||
/* evaluate the function at x + p and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, wa2.data(), wa4.data(), fjac.data(), ldfjac, 1);
|
||||
iflag = Functor::f(m, n, wa2.data(), wa4.data(), fjac.data(), ldfjac, 1);
|
||||
++nfev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -378,7 +378,7 @@ L300:
|
||||
}
|
||||
iflag = 0;
|
||||
if (nprint > 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), fjac.data(), ldfjac, 0);
|
||||
}
|
||||
return info;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ L20:
|
||||
/* evaluate the function at the starting point */
|
||||
/* and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), 1);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), 1);
|
||||
nfev = 1;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -84,7 +84,7 @@ L30:
|
||||
|
||||
/* calculate the jacobian matrix. */
|
||||
|
||||
iflag = ei_fdjac2<Scalar>(Functor::f, 0, m, n, x.data(), fvec.data(), fjac.data(), ldfjac,
|
||||
iflag = ei_fdjac2<Scalar>(Functor::f, m, n, x.data(), fvec.data(), fjac.data(), ldfjac,
|
||||
epsfcn, wa4.data());
|
||||
nfev += n;
|
||||
if (iflag < 0) {
|
||||
@@ -98,7 +98,7 @@ L30:
|
||||
}
|
||||
iflag = 0;
|
||||
if ((iter - 1) % nprint == 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), 0);
|
||||
}
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -240,7 +240,7 @@ L200:
|
||||
|
||||
/* evaluate the function at x + p and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, wa2.data(), wa4.data(), 1);
|
||||
iflag = Functor::f(m, n, wa2.data(), wa4.data(), 1);
|
||||
++nfev;
|
||||
if (iflag < 0) {
|
||||
goto L300;
|
||||
@@ -381,7 +381,7 @@ L300:
|
||||
}
|
||||
iflag = 0;
|
||||
if (nprint > 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), 0);
|
||||
}
|
||||
return info;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ L20:
|
||||
/* evaluate the function at the starting point */
|
||||
/* and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), wa3.data(), 1);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), wa3.data(), 1);
|
||||
nfev = 1;
|
||||
if (iflag < 0) {
|
||||
goto L340;
|
||||
@@ -89,7 +89,7 @@ L30:
|
||||
}
|
||||
iflag = 0;
|
||||
if ((iter - 1) % nprint == 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), wa3.data(), 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), wa3.data(), 0);
|
||||
}
|
||||
if (iflag < 0) {
|
||||
goto L340;
|
||||
@@ -111,7 +111,7 @@ L40:
|
||||
}
|
||||
iflag = 2;
|
||||
for (i = 0; i < m; ++i) {
|
||||
if (Functor::f(0, m, n, x.data(), fvec.data(), wa3.data(), iflag) < 0) {
|
||||
if (Functor::f(m, n, x.data(), fvec.data(), wa3.data(), iflag) < 0) {
|
||||
goto L340;
|
||||
}
|
||||
temp = fvec[i];
|
||||
@@ -264,7 +264,7 @@ L240:
|
||||
|
||||
/* evaluate the function at x + p and calculate its norm. */
|
||||
|
||||
iflag = Functor::f(0, m, n, wa2.data(), wa4.data(), wa3.data(), 1);
|
||||
iflag = Functor::f(m, n, wa2.data(), wa4.data(), wa3.data(), 1);
|
||||
++nfev;
|
||||
if (iflag < 0) {
|
||||
goto L340;
|
||||
@@ -406,7 +406,7 @@ L340:
|
||||
}
|
||||
iflag = 0;
|
||||
if (nprint > 0) {
|
||||
iflag = Functor::f(0, m, n, x.data(), fvec.data(), wa3.data(), 0);
|
||||
iflag = Functor::f(m, n, x.data(), fvec.data(), wa3.data(), 0);
|
||||
}
|
||||
return info;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user