def test_ge(self):
        result = ht.uint8([[False, True], [True, True]])
        commutated_result = ht.array([[True, True], [False, False]])

        self.assertTrue(
            ht.equal(ht.ge(self.a_scalar, self.a_scalar), ht.array(True)))
        self.assertTrue(ht.equal(ht.ge(self.a_tensor, self.a_scalar), result))
        self.assertTrue(
            ht.equal(ht.ge(self.a_scalar, self.a_tensor), commutated_result))
        self.assertTrue(
            ht.equal(ht.ge(self.a_tensor, self.another_tensor), result))
        self.assertTrue(ht.equal(ht.ge(self.a_tensor, self.a_vector), result))
        self.assertTrue(
            ht.equal(ht.ge(self.a_tensor, self.an_int_scalar), result))
        self.assertTrue(
            ht.equal(ht.ge(self.a_split_tensor, self.a_tensor),
                     commutated_result))

        self.assertEqual(
            ht.ge(self.a_split_tensor, self.a_tensor).dtype, ht.bool)

        with self.assertRaises(ValueError):
            ht.ge(self.a_tensor, self.another_vector)
        with self.assertRaises(TypeError):
            ht.ge(self.a_tensor, self.errorneous_type)
        with self.assertRaises(TypeError):
            ht.ge("self.a_tensor", "s")
Example #2
0
    def test_ne(self):
        T_r = ht.uint8([[1, 0], [1, 1]])

        self.assertTrue(ht.equal(ht.ne(s, s), ht.uint8([0])))
        self.assertTrue(ht.equal(ht.ne(T, s), T_r))
        self.assertTrue(ht.equal(ht.ne(s, T), T_r))
        self.assertTrue(ht.equal(ht.ne(T, T1), T_r))
        self.assertTrue(ht.equal(ht.ne(T, v), T_r))
        self.assertTrue(ht.equal(ht.ne(T, s_int), T_r))
        self.assertTrue(ht.equal(ht.ne(T_s, T), T_r))

        with self.assertRaises(ValueError):
            ht.ne(T, v2)
        with self.assertRaises(NotImplementedError):
            ht.ne(T, Ts)
        with self.assertRaises(TypeError):
            ht.ne(T, otherType)
        with self.assertRaises(TypeError):
            ht.ne('T', 's')
Example #3
0
    def test_eq(self):
        result = ht.uint8([[0, 1], [0, 0]], device=ht_device)

        self.assertTrue(
            ht.equal(ht.eq(self.a_scalar, self.a_scalar), ht.uint8([1])))
        self.assertTrue(ht.equal(ht.eq(self.a_tensor, self.a_scalar), result))
        self.assertTrue(ht.equal(ht.eq(self.a_scalar, self.a_tensor), result))
        self.assertTrue(
            ht.equal(ht.eq(self.a_tensor, self.another_tensor), result))
        self.assertTrue(ht.equal(ht.eq(self.a_tensor, self.a_vector), result))
        self.assertTrue(
            ht.equal(ht.eq(self.a_tensor, self.an_int_scalar), result))
        self.assertTrue(
            ht.equal(ht.eq(self.a_split_tensor, self.a_tensor), result))

        with self.assertRaises(ValueError):
            ht.eq(self.a_tensor, self.another_vector)
        with self.assertRaises(TypeError):
            ht.eq(self.a_tensor, self.errorneous_type)
        with self.assertRaises(TypeError):
            ht.eq("self.a_tensor", "s")
Example #4
0
    def test_any(self):
        # float values, minor axis
        x = ht.float32([[2.7, 0, 0], [0, 0, 0], [0, 0.3, 0]], device=ht_device)
        any_tensor = x.any(axis=1)
        res = ht.uint8([1, 0, 1], device=ht_device)
        self.assertIsInstance(any_tensor, ht.DNDarray)
        self.assertEqual(any_tensor.shape, (3, ))
        self.assertEqual(any_tensor.dtype, ht.bool)
        self.assertTrue(ht.equal(any_tensor, res))

        # integer values, major axis, output tensor
        any_tensor = ht.zeros((2, ), device=ht_device)
        x = ht.int32([[0, 0], [0, 0], [0, 1]], device=ht_device)
        ht.any(x, axis=0, out=any_tensor)
        res = ht.uint8([0, 1], device=ht_device)
        self.assertIsInstance(any_tensor, ht.DNDarray)
        self.assertEqual(any_tensor.shape, (2, ))
        self.assertEqual(any_tensor.dtype, ht.bool)
        self.assertTrue(ht.equal(any_tensor, res))

        # float values, no axis
        x = ht.float64([[0, 0, 0], [0, 0, 0]], device=ht_device)
        res = ht.zeros(1, dtype=ht.uint8, device=ht_device)
        any_tensor = ht.any(x)
        self.assertIsInstance(any_tensor, ht.DNDarray)
        self.assertEqual(any_tensor.shape, (1, ))
        self.assertEqual(any_tensor.dtype, ht.bool)
        self.assertTrue(ht.equal(any_tensor, res))

        # split tensor, along axis
        x = ht.arange(10, split=0, device=ht_device)
        any_tensor = ht.any(x, axis=0)
        res = ht.uint8([1], device=ht_device)
        self.assertIsInstance(any_tensor, ht.DNDarray)
        self.assertEqual(any_tensor.shape, (1, ))
        self.assertEqual(any_tensor.dtype, ht.bool)
        self.assertTrue(ht.equal(any_tensor, res))
Example #5
0
    def test_gt(self):
        result = ht.uint8([[0, 0], [1, 1]])
        commutated_result = ht.uint8([[1, 0], [0, 0]])

        self.assertTrue(
            ht.equal(ht.gt(self.a_scalar, self.a_scalar), ht.uint8([0])))
        self.assertTrue(ht.equal(ht.gt(self.a_tensor, self.a_scalar), result))
        self.assertTrue(
            ht.equal(ht.gt(self.a_scalar, self.a_tensor), commutated_result))
        self.assertTrue(
            ht.equal(ht.gt(self.a_tensor, self.another_tensor), result))
        self.assertTrue(ht.equal(ht.gt(self.a_tensor, self.a_vector), result))
        self.assertTrue(
            ht.equal(ht.gt(self.a_tensor, self.an_int_scalar), result))
        self.assertTrue(
            ht.equal(ht.gt(self.a_split_tensor, self.a_tensor),
                     commutated_result))

        with self.assertRaises(ValueError):
            ht.gt(self.a_tensor, self.another_vector)
        with self.assertRaises(TypeError):
            ht.gt(self.a_tensor, self.errorneous_type)
        with self.assertRaises(TypeError):
            ht.gt("self.a_tensor", "s")
Example #6
0
    def test_ne(self):
        result = ht.uint8([[1, 0], [1, 1]])

        # self.assertTrue(ht.equal(ht.ne(self.a_scalar, self.a_scalar), ht.uint8([0])))
        # self.assertTrue(ht.equal(ht.ne(self.a_tensor, self.a_scalar), result))
        # self.assertTrue(ht.equal(ht.ne(self.a_scalar, self.a_tensor), result))
        # self.assertTrue(ht.equal(ht.ne(self.a_tensor, self.another_tensor), result))
        # self.assertTrue(ht.equal(ht.ne(self.a_tensor, self.a_vector), result))
        # self.assertTrue(ht.equal(ht.ne(self.a_tensor, self.an_int_scalar), result))
        self.assertTrue(
            ht.equal(ht.ne(self.a_split_tensor, self.a_tensor), result))
        self.assertTrue(ht.equal(self.a_split_tensor != self.a_tensor, result))

        with self.assertRaises(ValueError):
            ht.ne(self.a_tensor, self.another_vector)
        with self.assertRaises(TypeError):
            ht.ne(self.a_tensor, self.errorneous_type)
        with self.assertRaises(TypeError):
            ht.ne("self.a_tensor", "s")