File indexing completed on 2025-01-18 09:57:09
0001 #ifndef HIP_VECTOR_COMPATIBILITY_H
0002 #define HIP_VECTOR_COMPATIBILITY_H
0003
0004 namespace hip_impl {
0005 template <typename, typename, unsigned int> struct Scalar_accessor;
0006 }
0007
0008 namespace Eigen {
0009 namespace internal {
0010
0011 #define HIP_SCALAR_ACCESSOR_BUILDER(NAME) \
0012 template <typename T, typename U, unsigned int n> \
0013 struct NAME <hip_impl::Scalar_accessor<T, U, n>> : NAME <T> {};
0014
0015 #define HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(NAME) \
0016 template <typename T, typename U, unsigned int n> \
0017 struct NAME##_impl <hip_impl::Scalar_accessor<T, U, n>> : NAME##_impl <T> {}; \
0018 template <typename T, typename U, unsigned int n> \
0019 struct NAME##_retval <hip_impl::Scalar_accessor<T, U, n>> : NAME##_retval <T> {};
0020
0021 #define HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(NAME) \
0022 template <typename T, typename U, unsigned int n, IgammaComputationMode mode> \
0023 struct NAME <hip_impl::Scalar_accessor<T, U, n>, mode> : NAME <T, mode> {};
0024
0025 #if EIGEN_HAS_C99_MATH
0026 HIP_SCALAR_ACCESSOR_BUILDER(betainc_helper)
0027 HIP_SCALAR_ACCESSOR_BUILDER(incbeta_cfe)
0028
0029 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(erf)
0030 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(erfc)
0031 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igammac)
0032 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(lgamma)
0033 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(ndtri)
0034 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(polygamma)
0035
0036 HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_generic_impl)
0037 #endif
0038
0039 HIP_SCALAR_ACCESSOR_BUILDER(digamma_impl_maybe_poly)
0040 HIP_SCALAR_ACCESSOR_BUILDER(zeta_impl_series)
0041
0042 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i0)
0043 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i0e)
0044 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i1)
0045 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_i1e)
0046 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_j0)
0047 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_j1)
0048 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k0)
0049 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k0e)
0050 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k1)
0051 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_k1e)
0052 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_y0)
0053 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(bessel_y1)
0054 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(betainc)
0055 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(digamma)
0056 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(gamma_sample_der_alpha)
0057 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igamma_der_a)
0058 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(igamma)
0059 HIP_SCALAR_ACCESSOR_BUILDER_RETVAL(zeta)
0060
0061 HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igamma_series_impl)
0062 HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igammac_cf_impl)
0063
0064 }
0065 }
0066
0067 #endif