aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--unsupported/Eigen/NonLinear7
-rw-r--r--unsupported/Eigen/src/NonLinear/fdjac1.h6
-rw-r--r--unsupported/Eigen/src/NonLinear/fdjac2.h4
-rw-r--r--unsupported/Eigen/src/NonLinear/hybrd.h10
-rw-r--r--unsupported/Eigen/src/NonLinear/hybrj.h10
-rw-r--r--unsupported/Eigen/src/NonLinear/lmder.h10
-rw-r--r--unsupported/Eigen/src/NonLinear/lmdif.h10
-rw-r--r--unsupported/Eigen/src/NonLinear/lmstr.h10
-rw-r--r--unsupported/test/NonLinear.cpp48
9 files changed, 56 insertions, 59 deletions
diff --git a/unsupported/Eigen/NonLinear b/unsupported/Eigen/NonLinear
index e904844aa..f9dd63db8 100644
--- a/unsupported/Eigen/NonLinear
+++ b/unsupported/Eigen/NonLinear
@@ -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"
diff --git a/unsupported/Eigen/src/NonLinear/fdjac1.h b/unsupported/Eigen/src/NonLinear/fdjac1.h
index 43951ff11..9d5b68ce2 100644
--- a/unsupported/Eigen/src/NonLinear/fdjac1.h
+++ b/unsupported/Eigen/src/NonLinear/fdjac1.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;
diff --git a/unsupported/Eigen/src/NonLinear/fdjac2.h b/unsupported/Eigen/src/NonLinear/fdjac2.h
index 5dfa1ddb6..730bc1dfc 100644
--- a/unsupported/Eigen/src/NonLinear/fdjac2.h
+++ b/unsupported/Eigen/src/NonLinear/fdjac2.h
@@ -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;
diff --git a/unsupported/Eigen/src/NonLinear/hybrd.h b/unsupported/Eigen/src/NonLinear/hybrd.h
index 445d2eb4e..82554cdcf 100644
--- a/unsupported/Eigen/src/NonLinear/hybrd.h
+++ b/unsupported/Eigen/src/NonLinear/hybrd.h
@@ -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;
diff --git a/unsupported/Eigen/src/NonLinear/hybrj.h b/unsupported/Eigen/src/NonLinear/hybrj.h
index e2cb08257..ebff1c42b 100644
--- a/unsupported/Eigen/src/NonLinear/hybrj.h
+++ b/unsupported/Eigen/src/NonLinear/hybrj.h
@@ -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;
diff --git a/unsupported/Eigen/src/NonLinear/lmder.h b/unsupported/Eigen/src/NonLinear/lmder.h
index dd43d8d7b..e5c758700 100644
--- a/unsupported/Eigen/src/NonLinear/lmder.h
+++ b/unsupported/Eigen/src/NonLinear/lmder.h
@@ -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;
diff --git a/unsupported/Eigen/src/NonLinear/lmdif.h b/unsupported/Eigen/src/NonLinear/lmdif.h
index 7e89de16e..3df6effd9 100644
--- a/unsupported/Eigen/src/NonLinear/lmdif.h
+++ b/unsupported/Eigen/src/NonLinear/lmdif.h
@@ -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;
diff --git a/unsupported/Eigen/src/NonLinear/lmstr.h b/unsupported/Eigen/src/NonLinear/lmstr.h
index a96eaccb1..efeb81635 100644
--- a/unsupported/Eigen/src/NonLinear/lmstr.h
+++ b/unsupported/Eigen/src/NonLinear/lmstr.h
@@ -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;
diff --git a/unsupported/test/NonLinear.cpp b/unsupported/test/NonLinear.cpp
index fb8af65dc..452963a57 100644
--- a/unsupported/test/NonLinear.cpp
+++ b/unsupported/test/NonLinear.cpp
@@ -102,7 +102,7 @@ void testChkder()
struct lmder1_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, double *fjac, int ldfjac, int iflag)
{
/* subroutine fcn for lmder1 example. */
@@ -168,7 +168,7 @@ void testLmder1()
}
struct lmder_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, double *fjac, int ldfjac, int iflag)
{
/* subroutine fcn for lmder example. */
@@ -265,7 +265,7 @@ void testLmder()
}
struct hybrj1_functor {
- static int f(void * /*p*/, int n, const double *x, double *fvec, double *fjac, int ldfjac,
+ static int f(int n, const double *x, double *fvec, double *fjac, int ldfjac,
int iflag)
{
/* subroutine fcn for hybrj1 example. */
@@ -333,7 +333,7 @@ void testHybrj1()
}
struct hybrj_functor {
- static int f(void * /*p*/, int n, const double *x, double *fvec, double *fjac, int ldfjac,
+ static int f(int n, const double *x, double *fvec, double *fjac, int ldfjac,
int iflag)
{
@@ -413,7 +413,7 @@ void testHybrj()
}
struct hybrd1_functor {
- static int f(void * /*p*/, int n, const double *x, double *fvec, int /*iflag*/)
+ static int f(int n, const double *x, double *fvec, int /*iflag*/)
{
/* subroutine fcn for hybrd1 example. */
@@ -457,7 +457,7 @@ void testHybrd1()
}
struct hybrd_functor {
- static int f(void * /*p*/, int n, const double *x, double *fvec, int iflag)
+ static int f(int n, const double *x, double *fvec, int iflag)
{
/* subroutine fcn for hybrd example. */
@@ -518,7 +518,7 @@ void testHybrd()
}
struct lmstr1_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, double *fjrow, int iflag)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, double *fjrow, int iflag)
{
/* subroutine fcn for lmstr1 example. */
int i;
@@ -580,7 +580,7 @@ void testLmstr1()
struct lmstr_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, double *fjrow, int iflag)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, double *fjrow, int iflag)
{
/* subroutine fcn for lmstr example. */
@@ -655,7 +655,7 @@ void testLmstr()
}
struct lmdif1_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, int /*iflag*/)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, int /*iflag*/)
{
/* function fcn for lmdif1 example */
@@ -703,7 +703,7 @@ void testLmdif1()
}
struct lmdif_functor {
- static int f(void * /*p*/, int /*m*/, int /*n*/, const double *x, double *fvec, int iflag)
+ static int f(int /*m*/, int /*n*/, const double *x, double *fvec, int iflag)
{
/* subroutine fcn for lmdif example. */
@@ -781,7 +781,7 @@ void testLmdif()
}
struct chwirut2_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double _x[54] = { 0.500E0, 1.000E0, 1.750E0, 3.750E0, 5.750E0, 0.875E0, 2.250E0, 3.250E0, 5.250E0, 0.750E0, 1.750E0, 2.750E0, 4.750E0, 0.625E0, 1.250E0, 2.250E0, 4.250E0, .500E0, 3.000E0, .750E0, 3.000E0, 1.500E0, 6.000E0, 3.000E0, 6.000E0, 1.500E0, 3.000E0, .500E0, 2.000E0, 4.000E0, .750E0, 2.000E0, 5.000E0, .750E0, 2.250E0, 3.750E0, 5.750E0, 3.000E0, .750E0, 2.500E0, 4.000E0, .750E0, 2.500E0, 4.000E0, .750E0, 2.500E0, 4.000E0, .500E0, 6.000E0, 3.000E0, .500E0, 2.750E0, .500E0, 1.750E0};
static const double y[54] = { 92.9000E0 ,57.1000E0 ,31.0500E0 ,11.5875E0 ,8.0250E0 ,63.6000E0 ,21.4000E0 ,14.2500E0 ,8.4750E0 ,63.8000E0 ,26.8000E0 ,16.4625E0 ,7.1250E0 ,67.3000E0 ,41.0000E0 ,21.1500E0 ,8.1750E0 ,81.5000E0 ,13.1200E0 ,59.9000E0 ,14.6200E0 ,32.9000E0 ,5.4400E0 ,12.5600E0 ,5.4400E0 ,32.0000E0 ,13.9500E0 ,75.8000E0 ,20.0000E0 ,10.4200E0 ,59.5000E0 ,21.6700E0 ,8.5500E0 ,62.0000E0 ,20.2000E0 ,7.7600E0 ,3.7500E0 ,11.8100E0 ,54.7000E0 ,23.7000E0 ,11.5500E0 ,61.3000E0 ,17.7000E0 ,8.7400E0 ,59.2000E0 ,16.3000E0 ,8.6200E0 ,81.0000E0 ,4.8700E0 ,14.6200E0 ,81.7000E0 ,17.1700E0 ,81.3000E0 ,28.9000E0 };
@@ -860,7 +860,7 @@ void testNistChwirut2(void)
struct misra1a_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[14] = { 77.6E0, 114.9E0, 141.1E0, 190.8E0, 239.9E0, 289.0E0, 332.8E0, 378.4E0, 434.8E0, 477.3E0, 536.8E0, 593.1E0, 689.1E0, 760.0E0};
static const double y[14] = { 10.07E0, 14.73E0, 17.94E0, 23.93E0, 29.61E0, 35.18E0, 40.02E0, 44.82E0, 50.76E0, 55.05E0, 61.01E0, 66.40E0, 75.47E0, 81.78E0};
@@ -930,7 +930,7 @@ void testNistMisra1a(void)
}
struct hahn1_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double _x[236] = { 24.41E0 , 34.82E0 , 44.09E0 , 45.07E0 , 54.98E0 , 65.51E0 , 70.53E0 , 75.70E0 , 89.57E0 , 91.14E0 , 96.40E0 , 97.19E0 , 114.26E0 , 120.25E0 , 127.08E0 , 133.55E0 , 133.61E0 , 158.67E0 , 172.74E0 , 171.31E0 , 202.14E0 , 220.55E0 , 221.05E0 , 221.39E0 , 250.99E0 , 268.99E0 , 271.80E0 , 271.97E0 , 321.31E0 , 321.69E0 , 330.14E0 , 333.03E0 , 333.47E0 , 340.77E0 , 345.65E0 , 373.11E0 , 373.79E0 , 411.82E0 , 419.51E0 , 421.59E0 , 422.02E0 , 422.47E0 , 422.61E0 , 441.75E0 , 447.41E0 , 448.7E0 , 472.89E0 , 476.69E0 , 522.47E0 , 522.62E0 , 524.43E0 , 546.75E0 , 549.53E0 , 575.29E0 , 576.00E0 , 625.55E0 , 20.15E0 , 28.78E0 , 29.57E0 , 37.41E0 , 39.12E0 , 50.24E0 , 61.38E0 , 66.25E0 , 73.42E0 , 95.52E0 , 107.32E0 , 122.04E0 , 134.03E0 , 163.19E0 , 163.48E0 , 175.70E0 , 179.86E0 , 211.27E0 , 217.78E0 , 219.14E0 , 262.52E0 , 268.01E0 , 268.62E0 , 336.25E0 , 337.23E0 , 339.33E0 , 427.38E0 , 428.58E0 , 432.68E0 , 528.99E0 , 531.08E0 , 628.34E0 , 253.24E0 , 273.13E0 , 273.66E0 , 282.10E0 , 346.62E0 , 347.19E0 , 348.78E0 , 351.18E0 , 450.10E0 , 450.35E0 , 451.92E0 , 455.56E0 , 552.22E0 , 553.56E0 , 555.74E0 , 652.59E0 , 656.20E0 , 14.13E0 , 20.41E0 , 31.30E0 , 33.84E0 , 39.70E0 , 48.83E0 , 54.50E0 , 60.41E0 , 72.77E0 , 75.25E0 , 86.84E0 , 94.88E0 , 96.40E0 , 117.37E0 , 139.08E0 , 147.73E0 , 158.63E0 , 161.84E0 , 192.11E0 , 206.76E0 , 209.07E0 , 213.32E0 , 226.44E0 , 237.12E0 , 330.90E0 , 358.72E0 , 370.77E0 , 372.72E0 , 396.24E0 , 416.59E0 , 484.02E0 , 495.47E0 , 514.78E0 , 515.65E0 , 519.47E0 , 544.47E0 , 560.11E0 , 620.77E0 , 18.97E0 , 28.93E0 , 33.91E0 , 40.03E0 , 44.66E0 , 49.87E0 , 55.16E0 , 60.90E0 , 72.08E0 , 85.15E0 , 97.06E0 , 119.63E0 , 133.27E0 , 143.84E0 , 161.91E0 , 180.67E0 , 198.44E0 , 226.86E0 , 229.65E0 , 258.27E0 , 273.77E0 , 339.15E0 , 350.13E0 , 362.75E0 , 371.03E0 , 393.32E0 , 448.53E0 , 473.78E0 , 511.12E0 , 524.70E0 , 548.75E0 , 551.64E0 , 574.02E0 , 623.86E0 , 21.46E0 , 24.33E0 , 33.43E0 , 39.22E0 , 44.18E0 , 55.02E0 , 94.33E0 , 96.44E0 , 118.82E0 , 128.48E0 , 141.94E0 , 156.92E0 , 171.65E0 , 190.00E0 , 223.26E0 , 223.88E0 , 231.50E0 , 265.05E0 , 269.44E0 , 271.78E0 , 273.46E0 , 334.61E0 , 339.79E0 , 349.52E0 , 358.18E0 , 377.98E0 , 394.77E0 , 429.66E0 , 468.22E0 , 487.27E0 , 519.54E0 , 523.03E0 , 612.99E0 , 638.59E0 , 641.36E0 , 622.05E0 , 631.50E0 , 663.97E0 , 646.9E0 , 748.29E0 , 749.21E0 , 750.14E0 , 647.04E0 , 646.89E0 , 746.9E0 , 748.43E0 , 747.35E0 , 749.27E0 , 647.61E0 , 747.78E0 , 750.51E0 , 851.37E0 , 845.97E0 , 847.54E0 , 849.93E0 , 851.61E0 , 849.75E0 , 850.98E0 , 848.23E0};
static const double _y[236] = { .591E0 , 1.547E0 , 2.902E0 , 2.894E0 , 4.703E0 , 6.307E0 , 7.03E0 , 7.898E0 , 9.470E0 , 9.484E0 , 10.072E0 , 10.163E0 , 11.615E0 , 12.005E0 , 12.478E0 , 12.982E0 , 12.970E0 , 13.926E0 , 14.452E0 , 14.404E0 , 15.190E0 , 15.550E0 , 15.528E0 , 15.499E0 , 16.131E0 , 16.438E0 , 16.387E0 , 16.549E0 , 16.872E0 , 16.830E0 , 16.926E0 , 16.907E0 , 16.966E0 , 17.060E0 , 17.122E0 , 17.311E0 , 17.355E0 , 17.668E0 , 17.767E0 , 17.803E0 , 17.765E0 , 17.768E0 , 17.736E0 , 17.858E0 , 17.877E0 , 17.912E0 , 18.046E0 , 18.085E0 , 18.291E0 , 18.357E0 , 18.426E0 , 18.584E0 , 18.610E0 , 18.870E0 , 18.795E0 , 19.111E0 , .367E0 , .796E0 , 0.892E0 , 1.903E0 , 2.150E0 , 3.697E0 , 5.870E0 , 6.421E0 , 7.422E0 , 9.944E0 , 11.023E0 , 11.87E0 , 12.786E0 , 14.067E0 , 13.974E0 , 14.462E0 , 14.464E0 , 15.381E0 , 15.483E0 , 15.59E0 , 16.075E0 , 16.347E0 , 16.181E0 , 16.915E0 , 17.003E0 , 16.978E0 , 17.756E0 , 17.808E0 , 17.868E0 , 18.481E0 , 18.486E0 , 19.090E0 , 16.062E0 , 16.337E0 , 16.345E0 , 16.388E0 , 17.159E0 , 17.116E0 , 17.164E0 , 17.123E0 , 17.979E0 , 17.974E0 , 18.007E0 , 17.993E0 , 18.523E0 , 18.669E0 , 18.617E0 , 19.371E0 , 19.330E0 , 0.080E0 , 0.248E0 , 1.089E0 , 1.418E0 , 2.278E0 , 3.624E0 , 4.574E0 , 5.556E0 , 7.267E0 , 7.695E0 , 9.136E0 , 9.959E0 , 9.957E0 , 11.600E0 , 13.138E0 , 13.564E0 , 13.871E0 , 13.994E0 , 14.947E0 , 15.473E0 , 15.379E0 , 15.455E0 , 15.908E0 , 16.114E0 , 17.071E0 , 17.135E0 , 17.282E0 , 17.368E0 , 17.483E0 , 17.764E0 , 18.185E0 , 18.271E0 , 18.236E0 , 18.237E0 , 18.523E0 , 18.627E0 , 18.665E0 , 19.086E0 , 0.214E0 , 0.943E0 , 1.429E0 , 2.241E0 , 2.951E0 , 3.782E0 , 4.757E0 , 5.602E0 , 7.169E0 , 8.920E0 , 10.055E0 , 12.035E0 , 12.861E0 , 13.436E0 , 14.167E0 , 14.755E0 , 15.168E0 , 15.651E0 , 15.746E0 , 16.216E0 , 16.445E0 , 16.965E0 , 17.121E0 , 17.206E0 , 17.250E0 , 17.339E0 , 17.793E0 , 18.123E0 , 18.49E0 , 18.566E0 , 18.645E0 , 18.706E0 , 18.924E0 , 19.1E0 , 0.375E0 , 0.471E0 , 1.504E0 , 2.204E0 , 2.813E0 , 4.765E0 , 9.835E0 , 10.040E0 , 11.946E0 , 12.596E0 , 13.303E0 , 13.922E0 , 14.440E0 , 14.951E0 , 15.627E0 , 15.639E0 , 15.814E0 , 16.315E0 , 16.334E0 , 16.430E0 , 16.423E0 , 17.024E0 , 17.009E0 , 17.165E0 , 17.134E0 , 17.349E0 , 17.576E0 , 17.848E0 , 18.090E0 , 18.276E0 , 18.404E0 , 18.519E0 , 19.133E0 , 19.074E0 , 19.239E0 , 19.280E0 , 19.101E0 , 19.398E0 , 19.252E0 , 19.89E0 , 20.007E0 , 19.929E0 , 19.268E0 , 19.324E0 , 20.049E0 , 20.107E0 , 20.062E0 , 20.065E0 , 19.286E0 , 19.972E0 , 20.088E0 , 20.743E0 , 20.83E0 , 20.935E0 , 21.035E0 , 20.93E0 , 21.074E0 , 21.085E0 , 20.935E0 };
@@ -1021,7 +1021,7 @@ void testNistHahn1(void)
}
struct misra1d_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[14] = { 77.6E0, 114.9E0, 141.1E0, 190.8E0, 239.9E0, 289.0E0, 332.8E0, 378.4E0, 434.8E0, 477.3E0, 536.8E0, 593.1E0, 689.1E0, 760.0E0};
static const double y[14] = { 10.07E0, 14.73E0, 17.94E0, 23.93E0, 29.61E0, 35.18E0, 40.02E0, 44.82E0, 50.76E0, 55.05E0, 61.01E0, 66.40E0, 75.47E0, 81.78E0};
@@ -1093,7 +1093,7 @@ void testNistMisra1d(void)
struct lanczos1_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[24] = { 0.000000000000E+00, 5.000000000000E-02, 1.000000000000E-01, 1.500000000000E-01, 2.000000000000E-01, 2.500000000000E-01, 3.000000000000E-01, 3.500000000000E-01, 4.000000000000E-01, 4.500000000000E-01, 5.000000000000E-01, 5.500000000000E-01, 6.000000000000E-01, 6.500000000000E-01, 7.000000000000E-01, 7.500000000000E-01, 8.000000000000E-01, 8.500000000000E-01, 9.000000000000E-01, 9.500000000000E-01, 1.000000000000E+00, 1.050000000000E+00, 1.100000000000E+00, 1.150000000000E+00 };
static const double y[24] = { 2.513400000000E+00 ,2.044333373291E+00 ,1.668404436564E+00 ,1.366418021208E+00 ,1.123232487372E+00 ,9.268897180037E-01 ,7.679338563728E-01 ,6.388775523106E-01 ,5.337835317402E-01 ,4.479363617347E-01 ,3.775847884350E-01 ,3.197393199326E-01 ,2.720130773746E-01 ,2.324965529032E-01 ,1.996589546065E-01 ,1.722704126914E-01 ,1.493405660168E-01 ,1.300700206922E-01 ,1.138119324644E-01 ,1.000415587559E-01 ,8.833209084540E-02 ,7.833544019350E-02 ,6.976693743449E-02 ,6.239312536719E-02 };
@@ -1176,7 +1176,7 @@ void testNistLanczos1(void)
}
struct rat42_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[9] = { 9.000E0, 14.000E0, 21.000E0, 28.000E0, 42.000E0, 57.000E0, 63.000E0, 70.000E0, 79.000E0 };
static const double y[9] = { 8.930E0 ,10.800E0 ,18.590E0 ,22.330E0 ,39.350E0 ,56.110E0 ,61.730E0 ,64.620E0 ,67.080E0 };
@@ -1250,7 +1250,7 @@ void testNistRat42(void)
}
struct MGH10_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[16] = { 5.000000E+01, 5.500000E+01, 6.000000E+01, 6.500000E+01, 7.000000E+01, 7.500000E+01, 8.000000E+01, 8.500000E+01, 9.000000E+01, 9.500000E+01, 1.000000E+02, 1.050000E+02, 1.100000E+02, 1.150000E+02, 1.200000E+02, 1.250000E+02 };
static const double y[16] = { 3.478000E+04, 2.861000E+04, 2.365000E+04, 1.963000E+04, 1.637000E+04, 1.372000E+04, 1.154000E+04, 9.744000E+03, 8.261000E+03, 7.030000E+03, 6.005000E+03, 5.147000E+03, 4.427000E+03, 3.820000E+03, 3.307000E+03, 2.872000E+03 };
@@ -1326,7 +1326,7 @@ void testNistMGH10(void)
struct BoxBOD_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[6] = { 1., 2., 3., 5., 7., 10. };
static const double y[6] = { 109., 149., 149., 191., 213., 224. };
@@ -1399,7 +1399,7 @@ void testNistBoxBOD(void)
}
struct MGH17_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[33] = { 0.000000E+00, 1.000000E+01, 2.000000E+01, 3.000000E+01, 4.000000E+01, 5.000000E+01, 6.000000E+01, 7.000000E+01, 8.000000E+01, 9.000000E+01, 1.000000E+02, 1.100000E+02, 1.200000E+02, 1.300000E+02, 1.400000E+02, 1.500000E+02, 1.600000E+02, 1.700000E+02, 1.800000E+02, 1.900000E+02, 2.000000E+02, 2.100000E+02, 2.200000E+02, 2.300000E+02, 2.400000E+02, 2.500000E+02, 2.600000E+02, 2.700000E+02, 2.800000E+02, 2.900000E+02, 3.000000E+02, 3.100000E+02, 3.200000E+02 };
static const double y[33] = { 8.440000E-01, 9.080000E-01, 9.320000E-01, 9.360000E-01, 9.250000E-01, 9.080000E-01, 8.810000E-01, 8.500000E-01, 8.180000E-01, 7.840000E-01, 7.510000E-01, 7.180000E-01, 6.850000E-01, 6.580000E-01, 6.280000E-01, 6.030000E-01, 5.800000E-01, 5.580000E-01, 5.380000E-01, 5.220000E-01, 5.060000E-01, 4.900000E-01, 4.780000E-01, 4.670000E-01, 4.570000E-01, 4.480000E-01, 4.380000E-01, 4.310000E-01, 4.240000E-01, 4.200000E-01, 4.140000E-01, 4.110000E-01, 4.060000E-01 };
@@ -1482,7 +1482,7 @@ void testNistMGH17(void)
}
struct MGH09_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double _x[11] = { 4., 2., 1., 5.E-1 , 2.5E-01, 1.670000E-01, 1.250000E-01, 1.E-01, 8.330000E-02, 7.140000E-02, 6.250000E-02 };
static const double y[11] = { 1.957000E-01, 1.947000E-01, 1.735000E-01, 1.600000E-01, 8.440000E-02, 6.270000E-02, 4.560000E-02, 3.420000E-02, 3.230000E-02, 2.350000E-02, 2.460000E-02 };
@@ -1565,7 +1565,7 @@ void testNistMGH09(void)
struct Bennett5_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[154] = { 7.447168E0, 8.102586E0, 8.452547E0, 8.711278E0, 8.916774E0, 9.087155E0, 9.232590E0, 9.359535E0, 9.472166E0, 9.573384E0, 9.665293E0, 9.749461E0, 9.827092E0, 9.899128E0, 9.966321E0, 10.029280E0, 10.088510E0, 10.144430E0, 10.197380E0, 10.247670E0, 10.295560E0, 10.341250E0, 10.384950E0, 10.426820E0, 10.467000E0, 10.505640E0, 10.542830E0, 10.578690E0, 10.613310E0, 10.646780E0, 10.679150E0, 10.710520E0, 10.740920E0, 10.770440E0, 10.799100E0, 10.826970E0, 10.854080E0, 10.880470E0, 10.906190E0, 10.931260E0, 10.955720E0, 10.979590E0, 11.002910E0, 11.025700E0, 11.047980E0, 11.069770E0, 11.091100E0, 11.111980E0, 11.132440E0, 11.152480E0, 11.172130E0, 11.191410E0, 11.210310E0, 11.228870E0, 11.247090E0, 11.264980E0, 11.282560E0, 11.299840E0, 11.316820E0, 11.333520E0, 11.349940E0, 11.366100E0, 11.382000E0, 11.397660E0, 11.413070E0, 11.428240E0, 11.443200E0, 11.457930E0, 11.472440E0, 11.486750E0, 11.500860E0, 11.514770E0, 11.528490E0, 11.542020E0, 11.555380E0, 11.568550E0, 11.581560E0, 11.594420E0, 11.607121E0, 11.619640E0, 11.632000E0, 11.644210E0, 11.656280E0, 11.668200E0, 11.679980E0, 11.691620E0, 11.703130E0, 11.714510E0, 11.725760E0, 11.736880E0, 11.747890E0, 11.758780E0, 11.769550E0, 11.780200E0, 11.790730E0, 11.801160E0, 11.811480E0, 11.821700E0, 11.831810E0, 11.841820E0, 11.851730E0, 11.861550E0, 11.871270E0, 11.880890E0, 11.890420E0, 11.899870E0, 11.909220E0, 11.918490E0, 11.927680E0, 11.936780E0, 11.945790E0, 11.954730E0, 11.963590E0, 11.972370E0, 11.981070E0, 11.989700E0, 11.998260E0, 12.006740E0, 12.015150E0, 12.023490E0, 12.031760E0, 12.039970E0, 12.048100E0, 12.056170E0, 12.064180E0, 12.072120E0, 12.080010E0, 12.087820E0, 12.095580E0, 12.103280E0, 12.110920E0, 12.118500E0, 12.126030E0, 12.133500E0, 12.140910E0, 12.148270E0, 12.155570E0, 12.162830E0, 12.170030E0, 12.177170E0, 12.184270E0, 12.191320E0, 12.198320E0, 12.205270E0, 12.212170E0, 12.219030E0, 12.225840E0, 12.232600E0, 12.239320E0, 12.245990E0, 12.252620E0, 12.259200E0, 12.265750E0, 12.272240E0 };
static const double y[154] = { -34.834702E0 ,-34.393200E0 ,-34.152901E0 ,-33.979099E0 ,-33.845901E0 ,-33.732899E0 ,-33.640301E0 ,-33.559200E0 ,-33.486801E0 ,-33.423100E0 ,-33.365101E0 ,-33.313000E0 ,-33.260899E0 ,-33.217400E0 ,-33.176899E0 ,-33.139198E0 ,-33.101601E0 ,-33.066799E0 ,-33.035000E0 ,-33.003101E0 ,-32.971298E0 ,-32.942299E0 ,-32.916302E0 ,-32.890202E0 ,-32.864101E0 ,-32.841000E0 ,-32.817799E0 ,-32.797501E0 ,-32.774300E0 ,-32.757000E0 ,-32.733799E0 ,-32.716400E0 ,-32.699100E0 ,-32.678799E0 ,-32.661400E0 ,-32.644001E0 ,-32.626701E0 ,-32.612202E0 ,-32.597698E0 ,-32.583199E0 ,-32.568699E0 ,-32.554298E0 ,-32.539799E0 ,-32.525299E0 ,-32.510799E0 ,-32.499199E0 ,-32.487598E0 ,-32.473202E0 ,-32.461601E0 ,-32.435501E0 ,-32.435501E0 ,-32.426800E0 ,-32.412300E0 ,-32.400799E0 ,-32.392101E0 ,-32.380501E0 ,-32.366001E0 ,-32.357300E0 ,-32.348598E0 ,-32.339901E0 ,-32.328400E0 ,-32.319698E0 ,-32.311001E0 ,-32.299400E0 ,-32.290699E0 ,-32.282001E0 ,-32.273300E0 ,-32.264599E0 ,-32.256001E0 ,-32.247299E0 ,-32.238602E0 ,-32.229900E0 ,-32.224098E0 ,-32.215401E0 ,-32.203800E0 ,-32.198002E0 ,-32.189400E0 ,-32.183601E0 ,-32.174900E0 ,-32.169102E0 ,-32.163300E0 ,-32.154598E0 ,-32.145901E0 ,-32.140099E0 ,-32.131401E0 ,-32.125599E0 ,-32.119801E0 ,-32.111198E0 ,-32.105400E0 ,-32.096699E0 ,-32.090900E0 ,-32.088001E0 ,-32.079300E0 ,-32.073502E0 ,-32.067699E0 ,-32.061901E0 ,-32.056099E0 ,-32.050301E0 ,-32.044498E0 ,-32.038799E0 ,-32.033001E0 ,-32.027199E0 ,-32.024300E0 ,-32.018501E0 ,-32.012699E0 ,-32.004002E0 ,-32.001099E0 ,-31.995300E0 ,-31.989500E0 ,-31.983700E0 ,-31.977900E0 ,-31.972099E0 ,-31.969299E0 ,-31.963501E0 ,-31.957701E0 ,-31.951900E0 ,-31.946100E0 ,-31.940300E0 ,-31.937401E0 ,-31.931601E0 ,-31.925800E0 ,-31.922899E0 ,-31.917101E0 ,-31.911301E0 ,-31.908400E0 ,-31.902599E0 ,-31.896900E0 ,-31.893999E0 ,-31.888201E0 ,-31.885300E0 ,-31.882401E0 ,-31.876600E0 ,-31.873699E0 ,-31.867901E0 ,-31.862101E0 ,-31.859200E0 ,-31.856300E0 ,-31.850500E0 ,-31.844700E0 ,-31.841801E0 ,-31.838900E0 ,-31.833099E0 ,-31.830200E0 ,-31.827299E0 ,-31.821600E0 ,-31.818701E0 ,-31.812901E0 ,-31.809999E0 ,-31.807100E0 ,-31.801300E0 ,-31.798401E0 ,-31.795500E0 ,-31.789700E0 ,-31.786800E0 };
@@ -1640,7 +1640,7 @@ void testNistBennett5(void)
}
struct thurber_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double _x[37] = { -3.067E0, -2.981E0, -2.921E0, -2.912E0, -2.840E0, -2.797E0, -2.702E0, -2.699E0, -2.633E0, -2.481E0, -2.363E0, -2.322E0, -1.501E0, -1.460E0, -1.274E0, -1.212E0, -1.100E0, -1.046E0, -0.915E0, -0.714E0, -0.566E0, -0.545E0, -0.400E0, -0.309E0, -0.109E0, -0.103E0, 0.010E0, 0.119E0, 0.377E0, 0.790E0, 0.963E0, 1.006E0, 1.115E0, 1.572E0, 1.841E0, 2.047E0, 2.200E0 };
static const double _y[37] = { 80.574E0, 84.248E0, 87.264E0, 87.195E0, 89.076E0, 89.608E0, 89.868E0, 90.101E0, 92.405E0, 95.854E0, 100.696E0, 101.060E0, 401.672E0, 390.724E0, 567.534E0, 635.316E0, 733.054E0, 759.087E0, 894.206E0, 990.785E0, 1090.109E0, 1080.914E0, 1122.643E0, 1178.351E0, 1260.531E0, 1273.514E0, 1288.339E0, 1327.543E0, 1353.863E0, 1414.509E0, 1425.208E0, 1421.384E0, 1442.962E0, 1464.350E0, 1468.705E0, 1447.894E0, 1457.628E0};
@@ -1732,7 +1732,7 @@ void testNistThurber(void)
}
struct rat43_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[15] = { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15. };
static const double y[15] = { 16.08, 33.83, 65.80, 97.20, 191.55, 326.20, 386.87, 520.53, 590.03, 651.92, 724.93, 699.56, 689.96, 637.56, 717.41 };
@@ -1814,7 +1814,7 @@ void testNistRat43(void)
struct eckerle4_functor {
- static int f(void * /*p*/, int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
+ static int f(int m, int n, const double *b, double *fvec, double *fjac, int ldfjac, int iflag)
{
static const double x[35] = { 400.0, 405.0, 410.0, 415.0, 420.0, 425.0, 430.0, 435.0, 436.5, 438.0, 439.5, 441.0, 442.5, 444.0, 445.5, 447.0, 448.5, 450.0, 451.5, 453.0, 454.5, 456.0, 457.5, 459.0, 460.5, 462.0, 463.5, 465.0, 470.0, 475.0, 480.0, 485.0, 490.0, 495.0, 500.0};
static const double y[35] = { 0.0001575, 0.0001699, 0.0002350, 0.0003102, 0.0004917, 0.0008710, 0.0017418, 0.0046400, 0.0065895, 0.0097302, 0.0149002, 0.0237310, 0.0401683, 0.0712559, 0.1264458, 0.2073413, 0.2902366, 0.3445623, 0.3698049, 0.3668534, 0.3106727, 0.2078154, 0.1164354, 0.0616764, 0.0337200, 0.0194023, 0.0117831, 0.0074357, 0.0022732, 0.0008800, 0.0004579, 0.0002345, 0.0001586, 0.0001143, 0.0000710 };