diff options
author | Jeff Daily <jeff.daily@amd.com> | 2019-12-11 22:00:55 +0000 |
---|---|---|
committer | Jeff Daily <jeff.daily@amd.com> | 2019-12-17 20:27:30 +0000 |
commit | de07c4d1c25d59cb1c0d3cdfed8c0177ada9e4df (patch) | |
tree | 188968cf02d5ec397d1dfcc14bcf8431bac9577c /unsupported/Eigen/src | |
parent | 788bef6ab55bc2897e29be308996b8937da4a38d (diff) |
fix compilation due to new HIP scalar accessor
Diffstat (limited to 'unsupported/Eigen/src')
-rw-r--r-- | unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h b/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h new file mode 100644 index 000000000..60a3972a3 --- /dev/null +++ b/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h @@ -0,0 +1,59 @@ +#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 + +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_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_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_IGAMMA(igamma_series_impl) +HIP_SCALAR_ACCESSOR_BUILDER_IGAMMA(igammac_cf_impl) + +} // end namespace internal +} // end namespace Eigen + +#endif // HIP_VECTOR_COMPATIBILITY_H |