[SciPy-dev] Cobyla test fixed

Travis E. Oliphant oliphant.travis at ieee.org
Mon Jul 17 19:19:01 CDT 2006


I think we tracked down the problem in cobyla.   Apparently, a certain 
operation deep in the bowels of the Fortran code was causing a number to 
be very-small negative on 32-bit platforms but 0.0d0 on 64-bit 
platforms.  Different behavior occurred based on whether or not the 
number was less than zero or not.  On 32-bit platforms the different 
behavior ensued on 64-bit platforms it did not.

I changed the code in cobyla/trstlp.f so that it checks for a number 
that is less than eps

currently eps is hard-coded to -2.2e-16 but this is a hack.

But, the hack works and allows all scipy tests to pass on 32-bit systems 
(and hopefully 64-bit systems as well).

There are a lot more print statements in the code now, but they are all 
  embedded in a test for iprint to be equal to 3 so they don't run by 
default (the tests will cause the code to run very slightly slower, 
however).

Thanks to those with 64-bit systems who helped in debugging.


-Travis


More information about the Scipy-dev mailing list