MCPcopy
hub / github.com/dask/dask / test_ufunc_outer

Function test_ufunc_outer

dask/array/tests/test_ufunc.py:227–266  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

225
226
227def test_ufunc_outer():
228 arr1 = np.random.randint(1, 100, size=20)
229 darr1 = da.from_array(arr1, 3)
230
231 arr2 = np.random.randint(1, 100, size=(10, 3))
232 darr2 = da.from_array(arr2, 3)
233
234 # Check output types
235 assert isinstance(da.add.outer(darr1, darr2), da.Array)
236 assert isinstance(da.add.outer(arr1, darr2), da.Array)
237 assert isinstance(da.add.outer(darr1, arr2), da.Array)
238 assert isinstance(da.add.outer(arr1, arr2), np.ndarray)
239
240 # Check mix of dimensions, dtypes, and numpy/dask/object
241 cases = [
242 ((darr1, darr2), (arr1, arr2)),
243 ((darr2, darr1), (arr2, arr1)),
244 ((darr2, darr1.astype("f8")), (arr2, arr1.astype("f8"))),
245 ((darr1, arr2), (arr1, arr2)),
246 ((darr1, 1), (arr1, 1)),
247 ((1, darr2), (1, arr2)),
248 ((1.5, darr2), (1.5, arr2)),
249 (([1, 2, 3], darr2), ([1, 2, 3], arr2)),
250 ((darr1.sum(), darr2), (arr1.sum(), arr2)),
251 ((np.array(1), darr2), (np.array(1), arr2)),
252 ]
253
254 for (dA, dB), (A, B) in cases:
255 assert_eq(da.add.outer(dA, dB), np.add.outer(A, B))
256
257 # Check dtype kwarg works
258 assert_eq(
259 da.add.outer(darr1, darr2, dtype="f8"), np.add.outer(arr1, arr2, dtype="f8")
260 )
261
262 with pytest.raises(ValueError):
263 da.add.outer(darr1, darr2, out=arr1)
264
265 with pytest.raises(ValueError):
266 da.sin.outer(darr1, darr2)
267
268
269@pytest.mark.parametrize("ufunc", ["isreal", "iscomplex", "real", "imag"])

Callers

nothing calls this directly

Calls 5

assert_eqFunction · 0.90
randintMethod · 0.45
outerMethod · 0.45
astypeMethod · 0.45
sumMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…