提交 611af883 authored 作者: ricardoV94's avatar ricardoV94 提交者: Ricardo Vieira

Compute frequently accessed properties once

上级 5137ed3e
......@@ -118,7 +118,9 @@ class TensorType(CType[np.ndarray], HasDataType, HasShape):
f"TensorType broadcastable/shape must be a boolean, integer or None, got {type(s)} {s}"
)
self.shape = tuple(parse_bcast_and_shape(s) for s in shape)
self.shape = _shape = tuple(parse_bcast_and_shape(s) for s in shape)
self.broadcastable = tuple(s == 1 for s in _shape)
self.ndim = len(_shape)
self.dtype_specs() # error checking is done there
self.name = name
self.numpy_dtype = np.dtype(self.dtype)
......@@ -392,16 +394,6 @@ class TensorType(CType[np.ndarray], HasDataType, HasShape):
def __hash__(self):
return hash((type(self), self.dtype, self.shape))
@property
def broadcastable(self):
"""A boolean tuple indicating which dimensions have a shape equal to one."""
return tuple(s == 1 for s in self.shape)
@property
def ndim(self):
"""The number of dimensions."""
return len(self.shape)
def __str__(self):
if self.name:
return self.name
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论