Make EIGEN_HAS_C99_MATH user configurable

This commit is contained in:
Gael Guennebaud
2016-05-20 14:58:19 +02:00
parent 48bf5ec216
commit 1395056fc0
5 changed files with 17 additions and 13 deletions

View File

@@ -116,7 +116,7 @@ struct lgamma_retval {
typedef Scalar type;
};
#ifdef EIGEN_HAS_C99_MATH
#if EIGEN_HAS_C99_MATH
template <>
struct lgamma_impl<float> {
EIGEN_DEVICE_FUNC
@@ -336,7 +336,7 @@ struct erf_retval {
typedef Scalar type;
};
#ifdef EIGEN_HAS_C99_MATH
#if EIGEN_HAS_C99_MATH
template <>
struct erf_impl<float> {
EIGEN_DEVICE_FUNC
@@ -369,7 +369,7 @@ struct erfc_retval {
typedef Scalar type;
};
#ifdef EIGEN_HAS_C99_MATH
#if EIGEN_HAS_C99_MATH
template <>
struct erfc_impl<float> {
EIGEN_DEVICE_FUNC
@@ -426,7 +426,7 @@ struct igamma_helper<double> {
}
};
#ifndef EIGEN_HAS_C99_MATH
#if !EIGEN_HAS_C99_MATH
template <typename Scalar>
struct igammac_impl {
@@ -608,7 +608,7 @@ struct igamma_retval {
typedef Scalar type;
};
#ifndef EIGEN_HAS_C99_MATH
#if !EIGEN_HAS_C99_MATH
template <typename Scalar>
struct igamma_impl {
@@ -967,7 +967,7 @@ struct polygamma_retval {
typedef Scalar type;
};
#ifndef EIGEN_HAS_C99_MATH
#if !EIGEN_HAS_C99_MATH
template <typename Scalar>
struct polygamma_impl {

View File

@@ -466,7 +466,7 @@ template <> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half maxi(const Eigen::
#endif
}
#ifdef EIGEN_HAS_C99_MATH
#if EIGEN_HAS_C99_MATH
template<> EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half lgamma(const Eigen::half& a) {
return Eigen::half(Eigen::numext::lgamma(static_cast<float>(a)));
}

View File

@@ -360,11 +360,15 @@
#endif
// Does the compiler support C99?
#ifndef EIGEN_HAS_C99_MATH
#if EIGEN_MAX_CPP_VER>=11 && \
((defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)) \
|| (defined(__GNUC__) && defined(_GLIBCXX_USE_C99)) \
|| (defined(_LIBCPP_VERSION) && !defined(_MSC_VER)))
#define EIGEN_HAS_C99_MATH 1
#define EIGEN_HAS_C99_MATH 1
#else
#define EIGEN_HAS_C99_MATH 0
#endif
#endif
// Does the compiler support result_of?