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.)

Reply via email to