#pragma once
// SPDX-License-Identifier: MIT
 
#include <torch/extension.h>

torch::Tensor aiter_add(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_mul(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_sub(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_div(torch::Tensor &input, torch::Tensor &other);

torch::Tensor aiter_add_(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_mul_(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_sub_(torch::Tensor &input, torch::Tensor &other);
torch::Tensor aiter_div_(torch::Tensor &input, torch::Tensor &other);