11 template <Tensor (*OpTag)(const Tensor&, const Tensor&)>
13 return (*OpTag)(a, b);
16 template <Tensor (*OpTag)(const Tensor&, const Tensor&)>
17 static inline Tensor binary_tensor_op(
const Tensor& tensor, Scalar scalar) {
18 Tensor scalar_tensor(std::vector<Scalar>(1, scalar), {1}, tensor.device(),
20 return binary_tensor_op<OpTag>(tensor, scalar_tensor);
23 template <Tensor (*OpTag)(const Tensor&, const Tensor&)>
24 static inline Tensor binary_tensor_op(Scalar scalar,
const Tensor& tensor) {
25 Tensor scalar_tensor(std::vector<Scalar>(1, scalar), {1}, tensor.device(),
27 return binary_tensor_op<OpTag>(scalar_tensor, tensor);