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

Method test_half_ufuncs

numpy/core/tests/test_half.py:399–461  ·  view source on GitHub ↗

Test the various ufuncs

(self)

Source from the content-addressed store, hash-verified

397 assert_equal(np.nextafter(hnan, a_f16), hnan[0])
398
399 def test_half_ufuncs(self):
400 """Test the various ufuncs"""
401
402 a = np.array([0, 1, 2, 4, 2], dtype=float16)
403 b = np.array([-2, 5, 1, 4, 3], dtype=float16)
404 c = np.array([0, -1, -np.inf, np.nan, 6], dtype=float16)
405
406 assert_equal(np.add(a, b), [-2, 6, 3, 8, 5])
407 assert_equal(np.subtract(a, b), [2, -4, 1, 0, -1])
408 assert_equal(np.multiply(a, b), [0, 5, 2, 16, 6])
409 assert_equal(np.divide(a, b), [0, 0.199951171875, 2, 1, 0.66650390625])
410
411 assert_equal(np.equal(a, b), [False, False, False, True, False])
412 assert_equal(np.not_equal(a, b), [True, True, True, False, True])
413 assert_equal(np.less(a, b), [False, True, False, False, True])
414 assert_equal(np.less_equal(a, b), [False, True, False, True, True])
415 assert_equal(np.greater(a, b), [True, False, True, False, False])
416 assert_equal(np.greater_equal(a, b), [True, False, True, True, False])
417 assert_equal(np.logical_and(a, b), [False, True, True, True, True])
418 assert_equal(np.logical_or(a, b), [True, True, True, True, True])
419 assert_equal(np.logical_xor(a, b), [True, False, False, False, False])
420 assert_equal(np.logical_not(a), [True, False, False, False, False])
421
422 assert_equal(np.isnan(c), [False, False, False, True, False])
423 assert_equal(np.isinf(c), [False, False, True, False, False])
424 assert_equal(np.isfinite(c), [True, True, False, False, True])
425 assert_equal(np.signbit(b), [True, False, False, False, False])
426
427 assert_equal(np.copysign(b, a), [2, 5, 1, 4, 3])
428
429 assert_equal(np.maximum(a, b), [0, 5, 2, 4, 3])
430
431 x = np.maximum(b, c)
432 assert_(np.isnan(x[3]))
433 x[3] = 0
434 assert_equal(x, [0, 5, 1, 0, 6])
435
436 assert_equal(np.minimum(a, b), [-2, 1, 1, 4, 2])
437
438 x = np.minimum(b, c)
439 assert_(np.isnan(x[3]))
440 x[3] = 0
441 assert_equal(x, [-2, -1, -np.inf, 0, 3])
442
443 assert_equal(np.fmax(a, b), [0, 5, 2, 4, 3])
444 assert_equal(np.fmax(b, c), [0, 5, 1, 4, 6])
445 assert_equal(np.fmin(a, b), [-2, 1, 1, 4, 2])
446 assert_equal(np.fmin(b, c), [-2, -1, -np.inf, 4, 3])
447
448 assert_equal(np.floor_divide(a, b), [0, 0, 2, 1, 0])
449 assert_equal(np.remainder(a, b), [0, 1, 0, 0, 2])
450 assert_equal(np.divmod(a, b), ([0, 0, 2, 1, 0], [0, 1, 0, 0, 2]))
451 assert_equal(np.square(b), [4, 25, 1, 16, 9])
452 assert_equal(np.reciprocal(b), [-0.5, 0.199951171875, 1, 0.25, 0.333251953125])
453 assert_equal(np.ones_like(b), [1, 1, 1, 1, 1])
454 assert_equal(np.conjugate(b), b)
455 assert_equal(np.absolute(b), [2, 5, 1, 4, 3])
456 assert_equal(np.negative(b), [2, -5, -1, -4, -3])

Callers

nothing calls this directly

Calls 8

assert_equalFunction · 0.90
assert_Function · 0.90
divideMethod · 0.80
logical_xorMethod · 0.80
conjugateMethod · 0.80
addMethod · 0.45
lessMethod · 0.45
less_equalMethod · 0.45

Tested by

no test coverage detected