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