def test_errstate_all_but_one(): olderr = sc.geterr() with sc.errstate(all='raise', singular='ignore'): sc.gammaln(0) with assert_raises(sc.SpecialFunctionError): sc.spence(-1.0) assert_equal(olderr, sc.geterr())
def test_errstate(): for category, error_code in _sf_error_code_map.items(): for action in _sf_error_actions: olderr = sc.geterr() with sc.errstate(**{category: action}): _check_action(_sf_error_test_function, (error_code, ), action) assert_equal(olderr, sc.geterr())
def test_errstate(): for category in _sf_error_code_map.keys(): for action in _sf_error_actions: olderr = sc.geterr() with sc.errstate(**{category: action}): _check_action(_sf_error_test_function, (_sf_error_code_map[category],), action) assert_equal(olderr, sc.geterr())
def test_sf_error_special_refcount(): # Regression test for gh-16233. # Check that the reference count of scipy.special is not increased # when a SpecialFunctionError is raised. refcount_before = sys.getrefcount(sc) with sc.errstate(all='raise'): with pytest.raises(sc.SpecialFunctionError, match='domain error'): sc.ndtri(2.0) refcount_after = sys.getrefcount(sc) assert refcount_after == refcount_before
def wrapper(*a, **kw): with sc.errstate(all='raise'): res = func(*a, **kw) return res
def test_errstate_cpp_basic(): olderr = sc.geterr() with sc.errstate(underflow='raise'): with assert_raises(sc.SpecialFunctionError): sc.wrightomega(-1000) assert_equal(olderr, sc.geterr())
def test_errstate_c_basic(): olderr = sc.geterr() with sc.errstate(domain='raise'): with assert_raises(sc.SpecialFunctionError): sc.spence(-1) assert_equal(olderr, sc.geterr())
def test_errstate_pyx_basic(): olderr = sc.geterr() with sc.errstate(singular='raise'): with assert_raises(sc.SpecialFunctionError): sc.loggamma(0) assert_equal(olderr, sc.geterr())