MCPcopy Create free account
hub / github.com/dask/dask / test_cumulative

Function test_cumulative

dask/array/tests/test_array_core.py:3831–3886  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3829
3830
3831def test_cumulative():
3832 rng = np.random.default_rng(0)
3833 x = da.arange(20, chunks=5)
3834 assert_eq(x.cumsum(axis=0), np.arange(20).cumsum())
3835 assert_eq(x.cumprod(axis=0), np.arange(20).cumprod())
3836
3837 assert_eq(da.nancumsum(x, axis=0), np.nancumsum(np.arange(20)))
3838 assert_eq(da.nancumprod(x, axis=0), np.nancumprod(np.arange(20)))
3839
3840 a = rng.random(20)
3841 a[rng.random(a.shape) < 0.5] = np.nan
3842 x = da.from_array(a, chunks=5)
3843 assert_eq(da.nancumsum(x, axis=0), np.nancumsum(a))
3844 assert_eq(da.nancumprod(x, axis=0), np.nancumprod(a))
3845
3846 a = rng.random((20, 24))
3847 x = da.from_array(a, chunks=(6, 5))
3848 assert_eq(x.cumsum(axis=0), a.cumsum(axis=0))
3849 assert_eq(x.cumsum(axis=1), a.cumsum(axis=1))
3850 assert_eq(x.cumprod(axis=0), a.cumprod(axis=0))
3851 assert_eq(x.cumprod(axis=1), a.cumprod(axis=1))
3852
3853 assert_eq(da.nancumsum(x, axis=0), np.nancumsum(a, axis=0))
3854 assert_eq(da.nancumsum(x, axis=1), np.nancumsum(a, axis=1))
3855 assert_eq(da.nancumprod(x, axis=0), np.nancumprod(a, axis=0))
3856 assert_eq(da.nancumprod(x, axis=1), np.nancumprod(a, axis=1))
3857
3858 a = rng.random((20, 24))
3859 a[rng.random(a.shape) < 0.5] = np.nan
3860 x = da.from_array(a, chunks=(6, 5))
3861 assert_eq(da.nancumsum(x, axis=0), np.nancumsum(a, axis=0))
3862 assert_eq(da.nancumsum(x, axis=1), np.nancumsum(a, axis=1))
3863 assert_eq(da.nancumprod(x, axis=0), np.nancumprod(a, axis=0))
3864 assert_eq(da.nancumprod(x, axis=1), np.nancumprod(a, axis=1))
3865
3866 a = rng.random((20, 24, 13))
3867 x = da.from_array(a, chunks=(6, 5, 4))
3868 for axis in [0, 1, 2, -1, -2, -3]:
3869 assert_eq(x.cumsum(axis=axis), a.cumsum(axis=axis))
3870 assert_eq(x.cumprod(axis=axis), a.cumprod(axis=axis))
3871
3872 assert_eq(da.nancumsum(x, axis=axis), np.nancumsum(a, axis=axis))
3873 assert_eq(da.nancumprod(x, axis=axis), np.nancumprod(a, axis=axis))
3874
3875 a = rng.random((20, 24, 13))
3876 a[rng.random(a.shape) < 0.5] = np.nan
3877 x = da.from_array(a, chunks=(6, 5, 4))
3878 for axis in [0, 1, 2, -1, -2, -3]:
3879 assert_eq(da.nancumsum(x, axis=axis), np.nancumsum(a, axis=axis))
3880 assert_eq(da.nancumprod(x, axis=axis), np.nancumprod(a, axis=axis))
3881
3882 with pytest.raises(ValueError):
3883 x.cumsum(axis=3)
3884
3885 with pytest.raises(ValueError):
3886 x.cumsum(axis=-4)
3887
3888

Callers

nothing calls this directly

Calls 5

assert_eqFunction · 0.90
arangeMethod · 0.45
cumsumMethod · 0.45
cumprodMethod · 0.45
randomMethod · 0.45

Tested by

no test coverage detected