beautify functors for lmdif, lmstr, hybrj, hybrd

This commit is contained in:
Thomas Capricelli
2009-08-23 04:57:48 +02:00
parent acd757737a
commit 134dea76d3
7 changed files with 76 additions and 81 deletions

View File

@@ -34,7 +34,7 @@ int ei_fdjac1(
if (h == 0.)
h = eps;
x[j] = temp + h;
iflag = Functor::f(x, wa1, 1);
iflag = Functor::f(x, wa1);
if (iflag < 0)
goto L30;
x[j] = temp;
@@ -59,7 +59,7 @@ L40:
x[j] = wa2[j] + h;
/* L60: */
}
iflag = Functor::f(x, wa1, 1);
iflag = Functor::f(x, wa1);
if (iflag < 0) {
/* goto L100; */
return iflag;

View File

@@ -26,7 +26,7 @@ int ei_fdjac2(
h = eps;
}
x[j] = temp + h;
iflag = Functor::f(x, wa, 1);
iflag = Functor::f(x, wa);
if (iflag < 0) {
/* goto L30; */
return iflag;

View File

@@ -75,7 +75,7 @@ L20:
/* evaluate the function at the starting point */
/* and calculate its norm. */
iflag = Functor::f(x, fvec, 1);
iflag = Functor::f(x, fvec);
nfev = 1;
if (iflag < 0) {
goto L300;
@@ -215,7 +215,7 @@ L180:
}
iflag = 0;
if ((iter - 1) % nprint == 0) {
iflag = Functor::f(x, fvec, 0);
iflag = Functor::debug(x, fvec);
}
if (iflag < 0) {
goto L300;
@@ -244,7 +244,7 @@ L190:
/* evaluate the function at x + p and calculate its norm. */
iflag = Functor::f(wa2, wa4, 0);
iflag = Functor::f(wa2, wa4);
++nfev;
if (iflag < 0) {
goto L300;
@@ -404,7 +404,7 @@ L300:
info = iflag;
}
if (nprint > 0) {
iflag = Functor::f(x, fvec, 0);
iflag = Functor::debug(x, fvec);
}
return info;

View File

@@ -70,7 +70,7 @@ L20:
/* evaluate the function at the starting point */
/* and calculate its norm. */
iflag = Functor::f(x, fvec, fjac, 1);
iflag = Functor::f(x, fvec);
nfev = 1;
if (iflag < 0) {
goto L300;
@@ -92,7 +92,7 @@ L30:
/* calculate the jacobian matrix. */
iflag = Functor::f(x, fvec, fjac, 2);
iflag = Functor::df(x, fjac);
++njev;
if (iflag < 0) {
goto L300;
@@ -203,7 +203,7 @@ L180:
}
iflag = 0;
if ((iter - 1) % nprint == 0)
iflag = Functor::f(x, fvec, fjac, 0);
iflag = Functor::debug(x, fvec, fjac);
if (iflag < 0) {
goto L300;
}
@@ -231,7 +231,7 @@ L190:
/* evaluate the function at x + p and calculate its norm. */
iflag = Functor::f(wa2, wa4, fjac, 1);
iflag = Functor::f(wa2, wa4);
++nfev;
if (iflag < 0) {
goto L300;
@@ -395,7 +395,7 @@ L300:
info = iflag;
}
if (nprint > 0)
iflag = Functor::f(x, fvec, fjac, 0);
iflag = Functor::debug(x, fvec, fjac);
return info;
/* last card of subroutine hybrj. */

View File

@@ -66,7 +66,7 @@ L20:
/* evaluate the function at the starting point */
/* and calculate its norm. */
iflag = Functor::f(x, fvec, 1);
iflag = Functor::f(x, fvec);
nfev = 1;
if (iflag < 0) {
goto L300;
@@ -97,7 +97,7 @@ L30:
}
iflag = 0;
if ((iter - 1) % nprint == 0) {
iflag = Functor::f(x, fvec, 0);
iflag = Functor::debug(x, fvec);
}
if (iflag < 0) {
goto L300;
@@ -239,7 +239,7 @@ L200:
/* evaluate the function at x + p and calculate its norm. */
iflag = Functor::f(wa2, wa4, 1);
iflag = Functor::f(wa2, wa4);
++nfev;
if (iflag < 0) {
goto L300;
@@ -380,7 +380,7 @@ L300:
}
iflag = 0;
if (nprint > 0) {
iflag = Functor::f(x, fvec, 0);
iflag = Functor::debug(x, fvec);
}
return info;

View File

@@ -66,7 +66,7 @@ L20:
/* evaluate the function at the starting point */
/* and calculate its norm. */
iflag = Functor::f(x, fvec, wa3, 1);
iflag = Functor::f(x, fvec);
nfev = 1;
if (iflag < 0) {
goto L340;
@@ -89,7 +89,7 @@ L30:
}
iflag = 0;
if ((iter - 1) % nprint == 0) {
iflag = Functor::f(x, fvec, wa3, 0);
iflag = Functor::debug(x, fvec, wa3);
}
if (iflag < 0) {
goto L340;
@@ -111,7 +111,7 @@ L40:
}
iflag = 2;
for (i = 0; i < m; ++i) {
if (Functor::f(x, fvec, wa3, iflag) < 0) {
if (Functor::df(x, wa3, 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(wa2, wa4, wa3, 1);
iflag = Functor::f(wa2, wa4);
++nfev;
if (iflag < 0) {
goto L340;
@@ -406,7 +406,7 @@ L340:
}
iflag = 0;
if (nprint > 0) {
iflag = Functor::f(x, fvec, wa3, 0);
iflag = Functor::debug(x, fvec, wa3);
}
return info;