Spaces:
Sleeping
Sleeping
// Broadcasting utilities for working with TensorBase | |
namespace at { | |
namespace internal { | |
TORCH_API TensorBase expand_slow_path(const TensorBase& self, IntArrayRef size); | |
} // namespace internal | |
inline c10::MaybeOwned<TensorBase> expand_size( | |
const TensorBase& self, | |
IntArrayRef size) { | |
if (size.equals(self.sizes())) { | |
return c10::MaybeOwned<TensorBase>::borrowed(self); | |
} | |
return c10::MaybeOwned<TensorBase>::owned( | |
at::internal::expand_slow_path(self, size)); | |
} | |
c10::MaybeOwned<TensorBase> expand_size(TensorBase&& self, IntArrayRef size) = | |
delete; | |
inline c10::MaybeOwned<TensorBase> expand_inplace( | |
const TensorBase& tensor, | |
const TensorBase& to_expand) { | |
return expand_size(to_expand, tensor.sizes()); | |
} | |
c10::MaybeOwned<TensorBase> expand_inplace( | |
const TensorBase& tensor, | |
TensorBase&& to_expand) = delete; | |
} // namespace at | |