blob: bc6f912030cf148f080fe3d3a1c76243d371d9cc [file] [log] [blame]
#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
#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_RETVAL(NAME) \
template <typename T, typename U, unsigned int n> \
struct NAME##_impl <hip_impl::Scalar_accessor<T, U, n>> : NAME##_impl <T> {}; \
template <typename T, typename U, unsigned int n> \
struct NAME##_retval <hip_impl::Scalar_accessor<T, U, n>> : NAME##_retval <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> {};
#if EIGEN_HAS_C99_MATH
HIP_SCALAR_ACCESSOR_BUILDER(betainc_helper)
HIP_SCALAR_ACCESSOR_BUILDER(incbeta_cfe)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(erf)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(erfc)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igammac)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(lgamma)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(ndtri)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(polygamma)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_generic_impl)
#endif
HIP_SCALAR_ACCESSOR_BUILDER(digamma_impl_maybe_poly)
HIP_SCALAR_ACCESSOR_BUILDER(zeta_impl_series)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i0)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i0e)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i1)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i1e)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_j0)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_j1)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k0)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k0e)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k1)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k1e)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_y0)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_y1)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(betainc)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(digamma)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(gamma_sample_der_alpha)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igamma_der_a)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igamma)
HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(zeta)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_series_impl)
HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igammac_cf_impl)
} // end namespace internal
} // end namespace Eigen
#endif // HIP_VECTOR_COMPATIBILITY_H