blob: edb6bf076e65203e9604f614d71fa465bdea4eec [file]
// SPDX-FileCopyrightText: The Eigen Authors
// SPDX-License-Identifier: MPL-2.0
#ifndef HIP_VECTOR_COMPATIBILITY_H
#define HIP_VECTOR_COMPATIBILITY_H
namespace hip_impl {
template <typename, typename, unsigned int>
struct Scalar_accessor;
} // end namespace hip_impl
// IWYU pragma: private
#include "./InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
#define HIP_SCALAR_ACCESSOR_BUILDER(NAME) \
template <typename T, typename U, unsigned int n> \
struct NAME<hip_impl::Scalar_accessor<T, U, n>> : NAME<T> {};
#define HIP_SCALAR_ACCESSOR_BUILDER_IMPL(NAME) \
template <typename T, typename U, unsigned int n> \
struct NAME##_impl<hip_impl::Scalar_accessor<T, U, n>> : NAME##_impl<T> {};
#define HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(NAME) \
template <typename T, typename U, unsigned int n, IgammaComputationMode mode> \
struct NAME<hip_impl::Scalar_accessor<T, U, n>, mode> : NAME<T, mode> {};
HIP_SCALAR_ACCESSOR_BUILDER(betainc_helper)
HIP_SCALAR_ACCESSOR_BUILDER(incbeta_cfe)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(erf)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(erfc)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(igammac)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(lgamma)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(ndtri)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(polygamma)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_generic_impl)
HIP_SCALAR_ACCESSOR_BUILDER(digamma_impl_maybe_poly)
HIP_SCALAR_ACCESSOR_BUILDER(zeta_impl_series)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_i0)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_i0e)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_i1)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_i1e)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_j0)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_j1)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_k0)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_k0e)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_k1)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_k1e)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_y0)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(bessel_y1)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(betainc)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(digamma)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(gamma_sample_der_alpha)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(igamma_der_a)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(igamma)
HIP_SCALAR_ACCESSOR_BUILDER_IMPL(zeta)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_series_impl)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igammac_cf_impl)
#undef HIP_SCALAR_ACCESSOR_BUILDER
#undef HIP_SCALAR_ACCESSOR_BUILDER_IMPL
#undef HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA
} // end namespace internal
} // end namespace Eigen
#endif // HIP_VECTOR_COMPATIBILITY_H