[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,
Thanks to those with 64-bit systems who helped in debugging.
More information about the Scipy-dev