1 | #pragma once |
2 | |
3 | // @generated by torchgen/gen.py from Function.h |
4 | |
5 | #include <ATen/Context.h> |
6 | #include <ATen/DeviceGuard.h> |
7 | #include <ATen/TensorUtils.h> |
8 | #include <ATen/TracerMode.h> |
9 | #include <ATen/core/Generator.h> |
10 | #include <ATen/core/Reduction.h> |
11 | #include <ATen/core/Tensor.h> |
12 | #include <c10/core/Scalar.h> |
13 | #include <c10/core/Storage.h> |
14 | #include <c10/core/TensorOptions.h> |
15 | #include <c10/util/Deprecated.h> |
16 | #include <c10/util/Optional.h> |
17 | |
18 | |
19 | |
20 | #include <ATen/ops/repeat_ops.h> |
21 | |
22 | namespace at { |
23 | |
24 | |
25 | namespace symint { |
26 | template <typename T, typename = std::enable_if_t<std::is_same<T, int64_t>::value>> |
27 | at::Tensor repeat(const at::Tensor & self, at::IntArrayRef repeats) { |
28 | return at::_ops::repeat::call(self, c10::fromIntArrayRefSlow(repeats)); |
29 | } |
30 | } |
31 | |
32 | namespace symint { |
33 | template <typename T, typename = std::enable_if_t<std::is_same<T, c10::SymInt>::value>> |
34 | at::Tensor repeat(const at::Tensor & self, c10::SymIntArrayRef repeats) { |
35 | return at::_ops::repeat::call(self, repeats); |
36 | } |
37 | } |
38 | |
39 | // aten::repeat.out(Tensor self, SymInt[] repeats, *, Tensor(a!) out) -> Tensor(a!) |
40 | inline at::Tensor & repeat_out(at::Tensor & out, const at::Tensor & self, at::IntArrayRef repeats) { |
41 | return at::_ops::repeat_out::call(self, c10::fromIntArrayRefSlow(repeats), out); |
42 | } |
43 | namespace symint { |
44 | template <typename T, typename = std::enable_if_t<std::is_same<T, int64_t>::value>> |
45 | at::Tensor & repeat_out(at::Tensor & out, const at::Tensor & self, at::IntArrayRef repeats) { |
46 | return at::_ops::repeat_out::call(self, c10::fromIntArrayRefSlow(repeats), out); |
47 | } |
48 | } |
49 | |
50 | // aten::repeat.out(Tensor self, SymInt[] repeats, *, Tensor(a!) out) -> Tensor(a!) |
51 | inline at::Tensor & repeat_outf(const at::Tensor & self, at::IntArrayRef repeats, at::Tensor & out) { |
52 | return at::_ops::repeat_out::call(self, c10::fromIntArrayRefSlow(repeats), out); |
53 | } |
54 | namespace symint { |
55 | template <typename T, typename = std::enable_if_t<std::is_same<T, int64_t>::value>> |
56 | at::Tensor & repeat_outf(const at::Tensor & self, at::IntArrayRef repeats, at::Tensor & out) { |
57 | return at::_ops::repeat_out::call(self, c10::fromIntArrayRefSlow(repeats), out); |
58 | } |
59 | } |
60 | |
61 | // aten::repeat.out(Tensor self, SymInt[] repeats, *, Tensor(a!) out) -> Tensor(a!) |
62 | inline at::Tensor & repeat_symint_out(at::Tensor & out, const at::Tensor & self, c10::SymIntArrayRef repeats) { |
63 | return at::_ops::repeat_out::call(self, repeats, out); |
64 | } |
65 | namespace symint { |
66 | template <typename T, typename = std::enable_if_t<std::is_same<T, c10::SymInt>::value>> |
67 | at::Tensor & repeat_out(at::Tensor & out, const at::Tensor & self, c10::SymIntArrayRef repeats) { |
68 | return at::_ops::repeat_out::call(self, repeats, out); |
69 | } |
70 | } |
71 | |
72 | // aten::repeat.out(Tensor self, SymInt[] repeats, *, Tensor(a!) out) -> Tensor(a!) |
73 | inline at::Tensor & repeat_symint_outf(const at::Tensor & self, c10::SymIntArrayRef repeats, at::Tensor & out) { |
74 | return at::_ops::repeat_out::call(self, repeats, out); |
75 | } |
76 | namespace symint { |
77 | template <typename T, typename = std::enable_if_t<std::is_same<T, c10::SymInt>::value>> |
78 | at::Tensor & repeat_outf(const at::Tensor & self, c10::SymIntArrayRef repeats, at::Tensor & out) { |
79 | return at::_ops::repeat_out::call(self, repeats, out); |
80 | } |
81 | } |
82 | |
83 | } |
84 | |