1#pragma once
2
3// @generated by torchgen/gen.py from Operator.h
4
5#include <tuple>
6#include <vector>
7
8// Forward declarations of any types needed in the operator signatures.
9// We can't directly include these classes because it will cause circular include dependencies.
10// This file is included by TensorBody.h, which defines the Tensor class.
11#include <ATen/core/ATen_fwd.h>
12
13namespace at {
14namespace _ops {
15
16
17struct TORCH_API prod {
18 using schema = at::Tensor (const at::Tensor &, c10::optional<at::ScalarType>);
19 using ptr_schema = schema*;
20 // See Note [static constexpr char* members for windows NVCC]
21 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
22 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "")
23 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod(Tensor self, *, ScalarType? dtype=None) -> Tensor")
24 static at::Tensor call(const at::Tensor & self, c10::optional<at::ScalarType> dtype);
25 static at::Tensor redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, c10::optional<at::ScalarType> dtype);
26};
27
28struct TORCH_API prod_dim_int {
29 using schema = at::Tensor (const at::Tensor &, int64_t, bool, c10::optional<at::ScalarType>);
30 using ptr_schema = schema*;
31 // See Note [static constexpr char* members for windows NVCC]
32 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
33 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "dim_int")
34 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod.dim_int(Tensor self, int dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor")
35 static at::Tensor call(const at::Tensor & self, int64_t dim, bool keepdim, c10::optional<at::ScalarType> dtype);
36 static at::Tensor redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, int64_t dim, bool keepdim, c10::optional<at::ScalarType> dtype);
37};
38
39struct TORCH_API prod_int_out {
40 using schema = at::Tensor & (const at::Tensor &, int64_t, bool, c10::optional<at::ScalarType>, at::Tensor &);
41 using ptr_schema = schema*;
42 // See Note [static constexpr char* members for windows NVCC]
43 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
44 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "int_out")
45 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod.int_out(Tensor self, int dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)")
46 static at::Tensor & call(const at::Tensor & self, int64_t dim, bool keepdim, c10::optional<at::ScalarType> dtype, at::Tensor & out);
47 static at::Tensor & redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, int64_t dim, bool keepdim, c10::optional<at::ScalarType> dtype, at::Tensor & out);
48};
49
50struct TORCH_API prod_dim_Dimname {
51 using schema = at::Tensor (const at::Tensor &, at::Dimname, bool, c10::optional<at::ScalarType>);
52 using ptr_schema = schema*;
53 // See Note [static constexpr char* members for windows NVCC]
54 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
55 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "dim_Dimname")
56 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod.dim_Dimname(Tensor self, Dimname dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor")
57 static at::Tensor call(const at::Tensor & self, at::Dimname dim, bool keepdim, c10::optional<at::ScalarType> dtype);
58 static at::Tensor redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, at::Dimname dim, bool keepdim, c10::optional<at::ScalarType> dtype);
59};
60
61struct TORCH_API prod_Dimname_out {
62 using schema = at::Tensor & (const at::Tensor &, at::Dimname, bool, c10::optional<at::ScalarType>, at::Tensor &);
63 using ptr_schema = schema*;
64 // See Note [static constexpr char* members for windows NVCC]
65 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
66 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "Dimname_out")
67 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod.Dimname_out(Tensor self, Dimname dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)")
68 static at::Tensor & call(const at::Tensor & self, at::Dimname dim, bool keepdim, c10::optional<at::ScalarType> dtype, at::Tensor & out);
69 static at::Tensor & redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, at::Dimname dim, bool keepdim, c10::optional<at::ScalarType> dtype, at::Tensor & out);
70};
71
72struct TORCH_API prod_out {
73 using schema = at::Tensor & (const at::Tensor &, c10::optional<at::ScalarType>, at::Tensor &);
74 using ptr_schema = schema*;
75 // See Note [static constexpr char* members for windows NVCC]
76 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(name, "aten::prod")
77 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(overload_name, "out")
78 STATIC_CONSTEXPR_STR_INL_EXCEPT_WIN_CUDA(schema_str, "prod.out(Tensor self, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)")
79 static at::Tensor & call(const at::Tensor & self, c10::optional<at::ScalarType> dtype, at::Tensor & out);
80 static at::Tensor & redispatch(c10::DispatchKeySet dispatchKeySet, const at::Tensor & self, c10::optional<at::ScalarType> dtype, at::Tensor & out);
81};
82
83}} // namespace at::_ops
84