#if !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)
#pragma once
// @generated by torchgen/gen.py from DispatchKeyFunctions_inl.h

// NB: The implementing C++ file is RegisterDispatchKey.cpp

// The only #includes we need are for custom classes that have defaults in the C++ API
#include <c10/core/MemoryFormat.h>
#include <c10/core/Scalar.h>
#include <ATen/core/Reduction.h>

#if defined(AT_PER_OPERATOR_HEADERS) && defined(TORCH_ASSERT_ONLY_METHOD_OPERATORS)
#error This change adds a dependency on all pytorch operators, meaning the     \
  file will need to be re-compiled every time an operator is changed or added. \
  Consider including a specific operator from                                  \
  <ATen/ops/{my_operator}_sparsemps_dispatch.h>.                   \
  See NOTE [TORCH_ASSERT_ONLY_METHOD_OPERATORS].
#endif

#include <ATen/ops/_coalesce_sparsemps_dispatch.h>
#include <ATen/ops/_coalesced_sparsemps_dispatch.h>
#include <ATen/ops/_indices_sparsemps_dispatch.h>
#include <ATen/ops/_nnz_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_broadcast_to_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_coo_tensor_with_dims_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_coo_tensor_with_dims_and_tensors_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_log_softmax_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_log_softmax_backward_data_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_mask_projection_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_softmax_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_softmax_backward_data_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_sparse_matmul_sparsemps_dispatch.h>
#include <ATen/ops/_sparse_sum_backward_sparsemps_dispatch.h>
#include <ATen/ops/_to_dense_sparsemps_dispatch.h>
#include <ATen/ops/_to_sparse_sparsemps_dispatch.h>
#include <ATen/ops/_values_sparsemps_dispatch.h>
#include <ATen/ops/abs_sparsemps_dispatch.h>
#include <ATen/ops/add_sparsemps_dispatch.h>
#include <ATen/ops/addmm_sparsemps_dispatch.h>
#include <ATen/ops/any_sparsemps_dispatch.h>
#include <ATen/ops/asin_sparsemps_dispatch.h>
#include <ATen/ops/asinh_sparsemps_dispatch.h>
#include <ATen/ops/atan_sparsemps_dispatch.h>
#include <ATen/ops/atanh_sparsemps_dispatch.h>
#include <ATen/ops/bmm_sparsemps_dispatch.h>
#include <ATen/ops/cat_sparsemps_dispatch.h>
#include <ATen/ops/ceil_sparsemps_dispatch.h>
#include <ATen/ops/clone_sparsemps_dispatch.h>
#include <ATen/ops/conj_physical_sparsemps_dispatch.h>
#include <ATen/ops/copy_sparsemps_dispatch.h>
#include <ATen/ops/copy_sparse_to_sparse_sparsemps_dispatch.h>
#include <ATen/ops/deg2rad_sparsemps_dispatch.h>
#include <ATen/ops/dense_dim_sparsemps_dispatch.h>
#include <ATen/ops/div_sparsemps_dispatch.h>
#include <ATen/ops/empty_sparsemps_dispatch.h>
#include <ATen/ops/empty_like_sparsemps_dispatch.h>
#include <ATen/ops/erf_sparsemps_dispatch.h>
#include <ATen/ops/erfinv_sparsemps_dispatch.h>
#include <ATen/ops/expm1_sparsemps_dispatch.h>
#include <ATen/ops/floor_sparsemps_dispatch.h>
#include <ATen/ops/floor_divide_sparsemps_dispatch.h>
#include <ATen/ops/frac_sparsemps_dispatch.h>
#include <ATen/ops/index_select_sparsemps_dispatch.h>
#include <ATen/ops/indices_sparsemps_dispatch.h>
#include <ATen/ops/is_coalesced_sparsemps_dispatch.h>
#include <ATen/ops/isinf_sparsemps_dispatch.h>
#include <ATen/ops/isnan_sparsemps_dispatch.h>
#include <ATen/ops/isneginf_sparsemps_dispatch.h>
#include <ATen/ops/isposinf_sparsemps_dispatch.h>
#include <ATen/ops/log1p_sparsemps_dispatch.h>
#include <ATen/ops/mm_sparsemps_dispatch.h>
#include <ATen/ops/mul_sparsemps_dispatch.h>
#include <ATen/ops/mv_sparsemps_dispatch.h>
#include <ATen/ops/nan_to_num_sparsemps_dispatch.h>
#include <ATen/ops/narrow_copy_sparsemps_dispatch.h>
#include <ATen/ops/native_norm_sparsemps_dispatch.h>
#include <ATen/ops/neg_sparsemps_dispatch.h>
#include <ATen/ops/norm_sparsemps_dispatch.h>
#include <ATen/ops/permute_sparsemps_dispatch.h>
#include <ATen/ops/pow_sparsemps_dispatch.h>
#include <ATen/ops/rad2deg_sparsemps_dispatch.h>
#include <ATen/ops/relu_sparsemps_dispatch.h>
#include <ATen/ops/round_sparsemps_dispatch.h>
#include <ATen/ops/sgn_sparsemps_dispatch.h>
#include <ATen/ops/sign_sparsemps_dispatch.h>
#include <ATen/ops/signbit_sparsemps_dispatch.h>
#include <ATen/ops/sin_sparsemps_dispatch.h>
#include <ATen/ops/sinh_sparsemps_dispatch.h>
#include <ATen/ops/sparse_dim_sparsemps_dispatch.h>
#include <ATen/ops/sparse_mask_sparsemps_dispatch.h>
#include <ATen/ops/sparse_resize_sparsemps_dispatch.h>
#include <ATen/ops/sparse_resize_and_clear_sparsemps_dispatch.h>
#include <ATen/ops/sqrt_sparsemps_dispatch.h>
#include <ATen/ops/sub_sparsemps_dispatch.h>
#include <ATen/ops/sum_sparsemps_dispatch.h>
#include <ATen/ops/tan_sparsemps_dispatch.h>
#include <ATen/ops/tanh_sparsemps_dispatch.h>
#include <ATen/ops/trunc_sparsemps_dispatch.h>
#include <ATen/ops/unsqueeze_sparsemps_dispatch.h>
#include <ATen/ops/values_sparsemps_dispatch.h>
#include <ATen/ops/view_as_complex_sparsemps_dispatch.h>
#include <ATen/ops/view_as_real_sparsemps_dispatch.h>
#include <ATen/ops/zero_sparsemps_dispatch.h>
#include <ATen/ops/zeros_sparsemps_dispatch.h>




#else
#error "This file should not be included when either TORCH_STABLE_ONLY or TORCH_TARGET_VERSION is defined."
#endif  // !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)
