On Sun, 09 Oct 2016, Rebecca N. Palmer wrote:

> The tests in question are checking that numexpr and numpy give the same
> answers (by default, pandas uses numexpr if available for large arrays but
> numpy for small ones), and require integers to match exactly.  The failing
> values are all 15**15, which is 437893890380859375 in exact arithmetic but
> 437893890380859392 in double-precision arithmetic.

> numpy int**int returns an int but uses doubles internally, so returns
> 437893890380859392.  (Upstream agree this is a bug, but haven't decided
> whether it should be an exact int or a float:
> https://github.com/numpy/numpy/issues/2475
> https://github.com/numpy/numpy/issues/899 )

> numexpr in jessie and testing does the same (which is why pandas built
> successfully before), but numexpr in sid returns the correct
> 437893890380859375.  (Given how little changed between 2.6.0 and 2.6.1,
> https://github.com/pydata/numexpr/commits/master, I suspect the cause of
> this may be further up the stack than numexpr itself, but have not actually
> done a "compile numexpr 2.6.0 in sid" test.)

> Hence, this failure is the result of an improvement(!), and the obvious
> workaround to get pandas building again would be to use approximate rather
> than exact matching in the tests in question.

> (You don't need to rebuild pandas to see this failure: running the test on
> its own, i.e. nosetests3 -v pandas/tests/test_expressions.py , is
> sufficient.)

Thank you Rebecca for the analysis and the references!  I will look into
patching it up in few days unless you beat me to it with an NMU or a
ready patch which would be super appreciated


-- 
Yaroslav O. Halchenko
Center for Open Neuroscience     http://centerforopenneuroscience.org
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        

Reply via email to