diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index 41ac290980..dd54c2e4d0 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -666,10 +666,8 @@ class Tensor: def _tri(r:sint, c:sint, k:int=0, **kwargs) -> Tensor: assert all_int((r,c)), "does not support symbolic" return Tensor.arange(r, **kwargs).unsqueeze(1).expand(r,c) <= Tensor.arange(-k, c-k, **kwargs).unsqueeze(0).expand(r,c) - def triu(self, k:int=0) -> Tensor: - return Tensor._tri(self.shape[-2], self.shape[-1], k=k, device=self.device).where(self, Tensor.zeros_like(self)) - def tril(self, k:int=0) -> Tensor: - return Tensor._tri(self.shape[-2], self.shape[-1], k=k+1, device=self.device).where(Tensor.zeros_like(self), self) + def triu(self, k:int=0) -> Tensor: return Tensor._tri(self.shape[-2], self.shape[-1], k=k, device=self.device).where(self, 0) + def tril(self, k:int=0) -> Tensor: return Tensor._tri(self.shape[-2], self.shape[-1], k=k+1, device=self.device).where(0, self) # ***** mlops (unary) *****