(backend, rs)
| 16 | @pytest.mark.parametrize("backend", ["cupy", "numpy"]) |
| 17 | @pytest.mark.parametrize("rs", [None, cupy.random.RandomState, np.random.RandomState]) |
| 18 | def test_random_all_RandomState(backend, rs): |
| 19 | # RandomState argument takes priority over backend |
| 20 | if rs == cupy.random.RandomState: |
| 21 | expect = cupy.ndarray |
| 22 | elif rs == np.random.RandomState: |
| 23 | expect = np.ndarray |
| 24 | elif backend == "cupy": |
| 25 | expect = cupy.ndarray |
| 26 | else: |
| 27 | expect = np.ndarray |
| 28 | |
| 29 | def rnd_test(func, *args, **kwargs): |
| 30 | a = func(*args, **kwargs) |
| 31 | assert type(a._meta) == expect |
| 32 | assert_eq(a, a) # Check that _meta and computed arrays match types |
| 33 | |
| 34 | with config.set({"array.backend": backend}): |
| 35 | rs = da.random.RandomState(RandomState=rs) |
| 36 | |
| 37 | rnd_test(rs.beta, 1, 2, size=5, chunks=3) |
| 38 | rnd_test(rs.binomial, 10, 0.5, size=5, chunks=3) |
| 39 | rnd_test(rs.chisquare, 1, size=5, chunks=3) |
| 40 | rnd_test(rs.exponential, 1, size=5, chunks=3) |
| 41 | rnd_test(rs.f, 1, 2, size=5, chunks=3) |
| 42 | rnd_test(rs.gamma, 5, 1, size=5, chunks=3) |
| 43 | rnd_test(rs.geometric, 1, size=5, chunks=3) |
| 44 | rnd_test(rs.gumbel, 1, size=5, chunks=3) |
| 45 | rnd_test(rs.hypergeometric, 1, 2, 3, size=5, chunks=3) |
| 46 | rnd_test(rs.laplace, size=5, chunks=3) |
| 47 | rnd_test(rs.logistic, size=5, chunks=3) |
| 48 | rnd_test(rs.lognormal, size=5, chunks=3) |
| 49 | rnd_test(rs.logseries, 0.5, size=5, chunks=3) |
| 50 | # No RandomState for multinomial in CuPy |
| 51 | # rnd_test(rs.multinomial, 20, [1 / 6.] * 6, size=5, chunks=3) |
| 52 | rnd_test(rs.negative_binomial, 5, 0.5, size=5, chunks=3) |
| 53 | rnd_test(rs.noncentral_chisquare, 2, 2, size=5, chunks=3) |
| 54 | |
| 55 | rnd_test(rs.noncentral_f, 2, 2, 3, size=5, chunks=3) |
| 56 | rnd_test(rs.normal, 2, 2, size=5, chunks=3) |
| 57 | rnd_test(rs.pareto, 1, size=5, chunks=3) |
| 58 | rnd_test(rs.poisson, size=5, chunks=3) |
| 59 | |
| 60 | rnd_test(rs.power, 1, size=5, chunks=3) |
| 61 | rnd_test(rs.rayleigh, size=5, chunks=3) |
| 62 | rnd_test(rs.random_sample, size=5, chunks=3) |
| 63 | |
| 64 | rnd_test(rs.triangular, 1, 2, 3, size=5, chunks=3) |
| 65 | rnd_test(rs.uniform, size=5, chunks=3) |
| 66 | rnd_test(rs.vonmises, 2, 3, size=5, chunks=3) |
| 67 | rnd_test(rs.wald, 1, 2, size=5, chunks=3) |
| 68 | |
| 69 | rnd_test(rs.weibull, 2, size=5, chunks=3) |
| 70 | rnd_test(rs.zipf, 2, size=5, chunks=3) |
| 71 | |
| 72 | rnd_test(rs.standard_cauchy, size=5, chunks=3) |
| 73 | rnd_test(rs.standard_exponential, size=5, chunks=3) |
| 74 | rnd_test(rs.standard_gamma, 2, size=5, chunks=3) |
| 75 | rnd_test(rs.standard_normal, size=5, chunks=3) |
nothing calls this directly
no test coverage detected
searching dependent graphs…