Specifying the exception type allows only explicit errors,
not silently wrong answers
Numba has been observed to give wrong answers on mipsel
and crash on ppc64el.
Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Forwarded: no
Gbp-Pq: Name numba_fail_32bit.patch
from pandas._typing import Scalar
from pandas.compat._optional import import_optional_dependency
-
+import platform
+import re
+import warnings
+warn_numba_platform = "Non-x86 system detected, Numba may give wrong results or crash" if not bool(re.match('i.?86|x86',platform.uname()[4])) else False
def make_rolling_apply(
func: Callable[..., Scalar],
Numba function
"""
numba = import_optional_dependency("numba")
+ if warn_numba_platform:
+ warnings.warn(warn_numba_platform)
if parallel:
loop_range = numba.prange
from pandas import Series
import pandas._testing as tm
+from pandas.compat import is_platform_32bit
+try:
+ from numba.core.errors import UnsupportedParforsError
+except ImportError:
+ UnsupportedParforsError = ImportError
@td.skip_if_no("numba", "0.46.0")
+@pytest.mark.xfail(condition=is_platform_32bit(), raises=UnsupportedParforsError, reason="some Numba functionality is not available on 32 bit systems", strict=False)
@pytest.mark.filterwarnings("ignore:\\nThe keyword argument")
# Filter warnings when parallel=True and the function can't be parallelized by Numba
class TestApply: