MCPcopy Create free account
hub / github.com/numpy/numpy / test_complex

Method test_complex

numpy/ma/tests/test_extras.py:261–303  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

259 assert_equal(a, 1.5)
260
261 def test_complex(self):
262 # Test with complex data.
263 # (Regression test for https://github.com/numpy/numpy/issues/2684)
264 mask = np.array([[0, 0, 0, 1, 0],
265 [0, 1, 0, 0, 0]], dtype=bool)
266 a = masked_array([[0, 1+2j, 3+4j, 5+6j, 7+8j],
267 [9j, 0+1j, 2+3j, 4+5j, 7+7j]],
268 mask=mask)
269
270 av = average(a)
271 expected = np.average(a.compressed())
272 assert_almost_equal(av.real, expected.real)
273 assert_almost_equal(av.imag, expected.imag)
274
275 av0 = average(a, axis=0)
276 expected0 = average(a.real, axis=0) + average(a.imag, axis=0)*1j
277 assert_almost_equal(av0.real, expected0.real)
278 assert_almost_equal(av0.imag, expected0.imag)
279
280 av1 = average(a, axis=1)
281 expected1 = average(a.real, axis=1) + average(a.imag, axis=1)*1j
282 assert_almost_equal(av1.real, expected1.real)
283 assert_almost_equal(av1.imag, expected1.imag)
284
285 # Test with the 'weights' argument.
286 wts = np.array([[0.5, 1.0, 2.0, 1.0, 0.5],
287 [1.0, 1.0, 1.0, 1.0, 1.0]])
288 wav = average(a, weights=wts)
289 expected = np.average(a.compressed(), weights=wts[~mask])
290 assert_almost_equal(wav.real, expected.real)
291 assert_almost_equal(wav.imag, expected.imag)
292
293 wav0 = average(a, weights=wts, axis=0)
294 expected0 = (average(a.real, weights=wts, axis=0) +
295 average(a.imag, weights=wts, axis=0)*1j)
296 assert_almost_equal(wav0.real, expected0.real)
297 assert_almost_equal(wav0.imag, expected0.imag)
298
299 wav1 = average(a, weights=wts, axis=1)
300 expected1 = (average(a.real, weights=wts, axis=1) +
301 average(a.imag, weights=wts, axis=1)*1j)
302 assert_almost_equal(wav1.real, expected1.real)
303 assert_almost_equal(wav1.imag, expected1.imag)
304
305 @pytest.mark.parametrize(
306 'x, axis, expected_avg, weights, expected_wavg, expected_wsum',

Callers

nothing calls this directly

Calls 3

averageFunction · 0.90
assert_almost_equalFunction · 0.90
compressedMethod · 0.45

Tested by

no test coverage detected