From 53e606cb22787b76a4c639ce0d28bfdedf2dc14d Mon Sep 17 00:00:00 2001 From: Ethan Wee Date: Thu, 19 Jun 2025 13:45:54 -0700 Subject: [PATCH 1/2] Update test_binary_ufuncs.py --- test/test_binary_ufuncs.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/test_binary_ufuncs.py b/test/test_binary_ufuncs.py index ee9fb490356fb0..eb7db1523ae9bb 100644 --- a/test/test_binary_ufuncs.py +++ b/test/test_binary_ufuncs.py @@ -1465,7 +1465,7 @@ def to_np(value): else: if isinstance(base, torch.Tensor): actual = base.pow(exponent) - self.assertEqual(actual, expected.to(actual)) + self.assertEqual(actual, expected.to(dtype=actual.dtype, device=actual.device)) actual = base.clone() # When base is a 0-dim cpu tensor and exp is a cuda tensor, we exp `pow` to work but `pow_` to fail, since # `pow` will try to create the output tensor on a cuda device, but `pow_` needs to use the cpu tensor as the output @@ -1479,8 +1479,8 @@ def to_np(value): self.assertRaisesRegex(RuntimeError, regex, base.pow_, exponent) elif torch.can_cast(torch.result_type(base, exponent), base.dtype): actual2 = actual.pow_(exponent) - self.assertEqual(actual, expected) - self.assertEqual(actual2, expected) + self.assertEqual(actual, expected.to(dtype=actual.dtype, device=actual.device)) + self.assertEqual(actual2, expected.to(dtype=actual.dtype, device=actual.device)) else: self.assertRaisesRegex( RuntimeError, From c5b3bdb47ebe821b434e1fe5b48ab39e60623584 Mon Sep 17 00:00:00 2001 From: Ethan Wee Date: Tue, 1 Jul 2025 09:12:01 -0700 Subject: [PATCH 2/2] fix --- test/test_binary_ufuncs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/test_binary_ufuncs.py b/test/test_binary_ufuncs.py index eb7db1523ae9bb..689f718eb9b683 100644 --- a/test/test_binary_ufuncs.py +++ b/test/test_binary_ufuncs.py @@ -1446,7 +1446,7 @@ def to_np(value): try: np_res = np.power(to_np(base), to_np(np_exponent)) expected = ( - torch.from_numpy(np_res) + torch.from_numpy(np_res).to(dtype=base.dtype) if isinstance(np_res, np.ndarray) else torch.tensor(np_res, dtype=base.dtype) ) @@ -1465,7 +1465,7 @@ def to_np(value): else: if isinstance(base, torch.Tensor): actual = base.pow(exponent) - self.assertEqual(actual, expected.to(dtype=actual.dtype, device=actual.device)) + self.assertEqual(actual, expected.to(actual)) actual = base.clone() # When base is a 0-dim cpu tensor and exp is a cuda tensor, we exp `pow` to work but `pow_` to fail, since # `pow` will try to create the output tensor on a cuda device, but `pow_` needs to use the cpu tensor as the output @@ -1479,8 +1479,8 @@ def to_np(value): self.assertRaisesRegex(RuntimeError, regex, base.pow_, exponent) elif torch.can_cast(torch.result_type(base, exponent), base.dtype): actual2 = actual.pow_(exponent) - self.assertEqual(actual, expected.to(dtype=actual.dtype, device=actual.device)) - self.assertEqual(actual2, expected.to(dtype=actual.dtype, device=actual.device)) + self.assertEqual(actual, expected) + self.assertEqual(actual2, expected) else: self.assertRaisesRegex( RuntimeError,