#pragma once

// @generated by tools/codegen/gen.py from MetaFunctions.h

#include <ATen/TensorMeta.h>
#include <ATen/TensorIterator.h>

namespace at {

namespace meta {

struct TORCH_API add_Tensor : public TensorIteratorBase {
    void meta(const Tensor & self, const Tensor & other, Scalar alpha);
};
struct TORCH_API upsample_nearest1d : public at::impl::MetaBase {
    void meta(const Tensor & self, IntArrayRef output_size, c10::optional<double> scales);
};
struct TORCH_API upsample_nearest1d_backward : public at::impl::MetaBase {
    void meta(const Tensor & grad_output, IntArrayRef output_size, IntArrayRef input_size, c10::optional<double> scales);
};
struct TORCH_API upsample_nearest2d : public at::impl::MetaBase {
    void meta(const Tensor & self, IntArrayRef output_size, c10::optional<double> scales_h, c10::optional<double> scales_w);
};
struct TORCH_API upsample_nearest2d_backward : public at::impl::MetaBase {
    void meta(const Tensor & grad_output, IntArrayRef output_size, IntArrayRef input_size, c10::optional<double> scales_h, c10::optional<double> scales_w);
};

} // namespace meta
} // namespace at
