|
#include <ATen/core/TensorBase.h> |
|
|
|
|
|
namespace at { |
|
namespace internal { |
|
TORCH_API TensorBase expand_slow_path(const TensorBase& self, IntArrayRef size); |
|
} |
|
|
|
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; |
|
|
|
} |
|
|