From 74b849b5e15fd6ad436ca2df119a948fe20eb9f9 Mon Sep 17 00:00:00 2001 From: ihar Date: Sat, 7 Jun 2025 21:15:31 -0500 Subject: [PATCH] remove unnecessary 'argfix' because 'view' is an alias to 'reshape'. all functionality must be inside 'reshape' (#10677) * remove unnecessary 'argfix' because 'view' is an alias to 'reshape'. all functionality must be inside 'reshape' * added the same set of unit tests for 'view' as for 'reshape' since 'view' is just an alias for 'reshape' * improved tests for 'view' op --- test/test_ops.py | 5 +++++ tinygrad/tensor.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/test/test_ops.py b/test/test_ops.py index 15e50fb6b2..7620bf30d4 100644 --- a/test/test_ops.py +++ b/test/test_ops.py @@ -1860,6 +1860,11 @@ class TestOps(unittest.TestCase): def test_view(self): helper_test_op([(4,3,6,6)], lambda x: x.view((12,6,6))) helper_test_op([(4,3,6,6)], lambda x: x.view((-1,3,6,6))) + helper_test_op([(6,)], lambda x: x.view(2, 3)) + helper_test_op([(6,1)], lambda x: x.view([2, 3])) + helper_test_op([(1,6)], lambda x: x.view((3, 2))) + helper_test_op([(3,2)], lambda x: x.view((2, 3))) + helper_test_op([(3,2)], lambda x: x.view(6)) def test_flip(self): helper_test_op([(4,3,6,6)], lambda x: x.flip((0,))) diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index e08480867f..6e0f038378 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -957,7 +957,7 @@ class Tensor(MathTrait): def view(self, shape:tuple[sint, ...], *args) -> Tensor: """`.view` is an alias for `.reshape`.""" - return self.reshape(argfix(shape, *args)) + return self.reshape(shape, *args) def reshape(self, shape, *args) -> Tensor: """