diff options
Diffstat (limited to 'unsupported/Eigen/src')
-rw-r--r-- | unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h b/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h index 60a3972a3..d7b231adb 100644 --- a/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +++ b/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h @@ -12,44 +12,52 @@ namespace internal { 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(erf_impl) -HIP_SCALAR_ACCESSOR_BUILDER(erfc_impl) -HIP_SCALAR_ACCESSOR_BUILDER(igammac_impl) HIP_SCALAR_ACCESSOR_BUILDER(incbeta_cfe) -HIP_SCALAR_ACCESSOR_BUILDER(lgamma_impl) -HIP_SCALAR_ACCESSOR_BUILDER(ndtri_impl) -HIP_SCALAR_ACCESSOR_BUILDER(polygamma_impl) + +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(bessel_i0_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_i0e_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_i1_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_i1e_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_j0_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_j1_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_k0_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_k0e_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_k1_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_k1e_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_y0_impl) -HIP_SCALAR_ACCESSOR_BUILDER(bessel_y1_impl) -HIP_SCALAR_ACCESSOR_BUILDER(betainc_impl) -HIP_SCALAR_ACCESSOR_BUILDER(digamma_impl) HIP_SCALAR_ACCESSOR_BUILDER(digamma_impl_maybe_poly) -HIP_SCALAR_ACCESSOR_BUILDER(gamma_sample_der_alpha_impl) -HIP_SCALAR_ACCESSOR_BUILDER(gamma_sample_der_alpha_retval) -HIP_SCALAR_ACCESSOR_BUILDER(igamma_der_a_impl) -HIP_SCALAR_ACCESSOR_BUILDER(igamma_der_a_retval) -HIP_SCALAR_ACCESSOR_BUILDER(igamma_impl) -HIP_SCALAR_ACCESSOR_BUILDER(zeta_impl) 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) |