summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/tests/test_umath.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/numpy/core/tests/test_umath.py b/numpy/core/tests/test_umath.py
index 58159da51..4ddcd647d 100644
--- a/numpy/core/tests/test_umath.py
+++ b/numpy/core/tests/test_umath.py
@@ -1717,7 +1717,7 @@ class TestSpecialFloats:
ufunc(array)
class TestFPClass:
- @pytest.mark.parametrize("stride", [-5,-4,-3,-2,-1,1,2,4,5,6,7,8,9,10])
+ @pytest.mark.parametrize("stride", [-5, -4 ,-3, -2, -1, 1, 2, 4, 5, 6, 7, 8, 9, 10])
def test_fpclass(self, stride):
arr_f64 = np.array([np.nan, -np.nan, np.inf, -np.inf, -1.0, 1.0, -0.0, 0.0, 2.2251e-308, -2.2251e-308], dtype='d')
arr_f32 = np.array([np.nan, -np.nan, np.inf, -np.inf, -1.0, 1.0, -0.0, 0.0, 1.4013e-045, -1.4013e-045], dtype='f')
@@ -1748,6 +1748,42 @@ class TestFPClass:
assert_equal(np.isinf(arr_f32_split), inf_split)
assert_equal(np.signbit(arr_f32_split), sign_split)
assert_equal(np.isfinite(arr_f32_split), finite_split)
+ # Try with as_strided
+ arr_f64_strided = np.lib.stride_tricks.as_strided(arr_f64, strides=(stride, ))
+ nan_strided = [np.isnan(val) for val in arr_f64_strided]
+ inf_strided = [np.isinf(val) for val in arr_f64_strided]
+ sign_strided = [np.signbit(val) for val in arr_f64_strided]
+ finite_strided = [np.isfinite(val) for val in arr_f64_strided]
+ assert_equal(np.isnan(arr_f64_strided), nan_strided)
+ assert_equal(np.isinf(arr_f64_strided), inf_strided)
+ assert_equal(np.signbit(arr_f64_strided), sign_strided)
+ assert_equal(np.isfinite(arr_f64_strided), finite_strided)
+ out_strided = np.ndarray(arr_f64_strided.shape, dtype='bool')
+ np.isnan(arr_f64_strided, out=out_strided)
+ assert_equal(out_strided, nan_strided)
+ np.isinf(arr_f64_strided, out=out_strided)
+ assert_equal(out_strided, inf_strided)
+ np.signbit(arr_f64_strided, out=out_strided)
+ assert_equal(out_strided, sign_strided)
+ np.isfinite(arr_f64_strided, out=out_strided)
+ assert_equal(out_strided, finite_strided)
+ arr_f32_strided = np.lib.stride_tricks.as_strided(arr_f32, strides=(stride, ))
+ nan_strided = [np.isnan(val) for val in arr_f32_strided]
+ inf_strided = [np.isinf(val) for val in arr_f32_strided]
+ sign_strided = [np.signbit(val) for val in arr_f32_strided]
+ finite_strided = [np.isfinite(val) for val in arr_f32_strided]
+ assert_equal(np.isnan(arr_f32_strided), nan_strided)
+ assert_equal(np.isinf(arr_f32_strided), inf_strided)
+ assert_equal(np.signbit(arr_f32_strided), sign_strided)
+ assert_equal(np.isfinite(arr_f32_strided), finite_strided)
+ np.isnan(arr_f32_strided, out=out_strided)
+ assert_equal(out_strided, nan_strided)
+ np.isinf(arr_f32_strided, out=out_strided)
+ assert_equal(out_strided, inf_strided)
+ np.signbit(arr_f32_strided, out=out_strided)
+ assert_equal(out_strided, sign_strided)
+ np.isfinite(arr_f32_strided, out=out_strided)
+ assert_equal(out_strided, finite_strided)
class TestLDExp:
@pytest.mark.parametrize("stride", [-4,-2,-1,1,2,4])