MCPcopy
hub / github.com/dask/dask / test_cumulative

Function test_cumulative

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

Source from the content-addressed store, hash-verified

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

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

Used in the wild real call sites across dependent graphs

searching dependent graphs…