On Monday, April 14, 2014, Matthew Brett <matthew.br...@gmail.com> wrote:

> Hi,
>
> On Mon, Apr 14, 2014 at 12:12 PM, Warren Weckesser
> <warren.weckes...@gmail.com <javascript:;>> wrote:
> >
> > On Mon, Apr 14, 2014 at 2:59 PM, Matthew Brett 
> > <matthew.br...@gmail.com<javascript:;>
> >
> > wrote:
> >>
> >> Hi,
> >>
> >> With Carl Kleffner, I am trying to build a numpy 1.8.1 wheel for
> >> Windows 64-bit, and latest stable ATLAS.
> >>
> >> It works fine, apart from the following test failure:
> >>
> >> ======================================================================
> >> FAIL: test_special (test_umath.TestExpm1)
> >> ----------------------------------------------------------------------
> >> Traceback (most recent call last):
> >>   File "C:\Python27\lib\site-packages\numpy\core\tests\test_umath.py",
> >> line 329, in test_special
> >>     assert_equal(ncu.expm1(-0.), -0.)
> >>   File "C:\Python27\lib\site-packages\numpy\testing\utils.py", line
> >> 311, in assert_equal
> >>     raise AssertionError(msg)
> >> AssertionError:
> >> Items are not equal:
> >>  ACTUAL: 0.0
> >>  DESIRED: -0.0
> >>
> >> Has anyone seen this?  Is it in fact necessary that expm1(-0.) return
> >> -0 instead of 0?
> >>
> >
> >
> > What a cowinky dink.  This moring I ran into this issue in a scipy pull
> > request (https://github.com/scipy/scipy/pull/3547), and I asked about
> this
> > comparison failing on the mailing list a few hours ago.  In the pull
> > request, the modified function returns -0.0 where it used to return 0.0,
> and
> > the test for the value 0.0 failed.  My work-around was to use
> > `assert_array_equal` instead of `assert_equal`.  The array comparison
> > functions treat the values -0.0 and 0.0 as equal.  `assert_equal` has
> code
> > that checks for signed zeros, and fails if they are not the same sign.
>
> Yes, sorry, I should have mentioned that I saw your post too.  I'd
> live to use that workaround, but it looks like the teste against -0 is
> intentional, and I was hoping for help understanding.
>
> The relevant two lines of the test are:
>
>         assert_equal(ncu.expm1(0.), 0.)
>         assert_equal(ncu.expm1(-0.), -0.)
>
> Julian - I think this one is for you - as the author of these lines:
>
> f53ab41a numpy/core/tests/test_umath.py     (Julian Taylor
> 2014-03-02 02:55:30 +0100  329)         assert_equal(ncu.expm1(-0.),
> -0.)
>
> Can you say why you wanted -0 specifically?  Any clue as to why ATLAS
> 64 bit may give 0 instead?
>
> Cheers,
>
> Matthew
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org <javascript:;>
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>

I think this is a real bug in the version of exp1m in
core/src/npymath/npy_math.c.src that's being used since your windows build
couldn't find a system version of exp1m to use.

Eric
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to