On 12/02/2015 04:07 PM, Patrick Alken wrote:
> I managed to compile in 32 bit mode using -m32 with gcc. I get a similar, but
> slightly different set of errors. Only multifit seems to have a problem.
> 
> Based on your output below, I'd recommend editing:
> 
> test_powell1.c
> test_powell3.c
> 
> and increase the powell1_epsrel and powell3_epsrel parameters until the tests
> pass.
> 
> I don't have any immediate ideas on why the nonlinear least squares algorithms
> don't like 32 bit. I'll make a bug report to track this issue.
> 

I've ended up with the attached.  No particular effort made to get the
tolerances as small as possible.



-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       [email protected]
Boulder, CO 80301                   http://www.nwra.com
diff -up gsl-2.1/multifit/test_nonlinear.c.tol gsl-2.1/multifit/test_nonlinear.c
--- gsl-2.1/multifit/test_nonlinear.c.tol	2015-11-03 09:21:55.000000000 -0700
+++ gsl-2.1/multifit/test_nonlinear.c	2015-12-02 17:02:31.710586128 -0700
@@ -175,8 +175,8 @@ static test_fdf_problem *test_fdf_nist[]
 static void
 test_nonlinear(void)
 {
-  const double xtol = pow(GSL_DBL_EPSILON, 0.9);
-  const double gtol = pow(GSL_DBL_EPSILON, 0.9);
+  const double xtol = pow(GSL_DBL_EPSILON, 0.9) * 10.0;
+  const double gtol = pow(GSL_DBL_EPSILON, 0.9) * 10.0;
   const double ftol = 0.0;
   size_t i, j;
 
diff -up gsl-2.1/multifit/test_powell1.c.tol gsl-2.1/multifit/test_powell1.c
--- gsl-2.1/multifit/test_powell1.c.tol	2015-11-03 09:21:55.000000000 -0700
+++ gsl-2.1/multifit/test_powell1.c	2015-12-02 17:05:05.295788606 -0700
@@ -4,7 +4,7 @@
 #define powell1_NTRIES   4
 
 static double powell1_x0[powell1_P] = { 3.0, -1.0, 0.0, 1.0 };
-static double powell1_epsrel = 1.0e-5;
+static double powell1_epsrel = 2.0e-5;
 
 static void
 powell1_checksol(const double x[], const double sumsq,
diff -up gsl-2.1/multifit/test_powell3.c.tol gsl-2.1/multifit/test_powell3.c
--- gsl-2.1/multifit/test_powell3.c.tol	2015-11-03 09:21:55.000000000 -0700
+++ gsl-2.1/multifit/test_powell3.c	2015-12-02 17:05:52.299546834 -0700
@@ -4,7 +4,7 @@
 #define powell3_NTRIES    1
 
 static double powell3_x0[powell3_P] = { 0.0, 1.0 };
-static double powell3_epsrel = 1.0e-12;
+static double powell3_epsrel = 1.0e-8;
 
 static void
 powell3_checksol(const double x[], const double sumsq,

Reply via email to