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
22namespace at {
23
24
25namespace 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
32namespace 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!)
40inline 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}
43namespace 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!)
51inline 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}
54namespace 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!)
62inline 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}
65namespace 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!)
73inline 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}
76namespace 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