Don't attempts to use lgamma_r for CUDA devices.

Fix type in lgamma_impl<double>.
This commit is contained in:
Rasmus Munk Larsen 2016-11-01 15:34:19 -07:00
parent 2ebb314fa7
commit b730952414

View File

@ -121,7 +121,7 @@ template <>
struct lgamma_impl<float> {
EIGEN_DEVICE_FUNC
static EIGEN_STRONG_INLINE float run(float x) {
#ifdef _BSD_SOURCE || _SVID_SOURCE
#if !defined(__CUDA_ARCH__) && (defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
int signgam;
return ::lgammaf_r(x, &signgam);
#else
@ -134,9 +134,9 @@ template <>
struct lgamma_impl<double> {
EIGEN_DEVICE_FUNC
static EIGEN_STRONG_INLINE double run(double x) {
#ifdef _BSD_SOURCE || _SVID_SOURCE
#if !defined(__CUDA_ARCH__) && (defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
int signgam;
return ::lgammaf_r(x, &signgam);
return ::lgamma_r(x, &signgam);
#else
return ::lgamma(x);
#endif