From 9254974115b6d4db305a1c7a2ef23ebc8a4a819a Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Thu, 9 Jan 2020 21:23:09 +0000 Subject: Don't add EIGEN_DEVICE_FUNC to random() since ::rand is not available in Cuda. --- Eigen/src/Core/MathFunctions.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'Eigen/src/Core/MathFunctions.h') diff --git a/Eigen/src/Core/MathFunctions.h b/Eigen/src/Core/MathFunctions.h index cca968d2e..a681a3eb3 100644 --- a/Eigen/src/Core/MathFunctions.h +++ b/Eigen/src/Core/MathFunctions.h @@ -700,18 +700,16 @@ struct random_retval typedef Scalar type; }; -template EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(const Scalar& x, const Scalar& y); -template EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(); +template inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(const Scalar& x, const Scalar& y); +template inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(); template struct random_default_impl { - EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x, const Scalar& y) { return x + (y-x) * Scalar(std::rand()) / Scalar(RAND_MAX); } - EIGEN_DEVICE_FUNC static inline Scalar run() { return run(Scalar(NumTraits::IsSigned ? -1 : 0), Scalar(1)); @@ -768,7 +766,6 @@ struct meta_floor_log2 template struct random_default_impl { - EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x, const Scalar& y) { if (y <= x) @@ -796,7 +793,6 @@ struct random_default_impl return Scalar(ScalarX(x) + offset); } - EIGEN_DEVICE_FUNC static inline Scalar run() { #ifdef EIGEN_MAKING_DOCS @@ -815,13 +811,11 @@ struct random_default_impl template struct random_default_impl { - EIGEN_DEVICE_FUNC static inline Scalar run(const Scalar& x, const Scalar& y) { return Scalar(random(x.real(), y.real()), random(x.imag(), y.imag())); } - EIGEN_DEVICE_FUNC static inline Scalar run() { typedef typename NumTraits::Real RealScalar; @@ -830,14 +824,12 @@ struct random_default_impl }; template -EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(const Scalar& x, const Scalar& y) { return EIGEN_MATHFUNC_IMPL(random, Scalar)::run(x, y); } template -EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random() { return EIGEN_MATHFUNC_IMPL(random, Scalar)::run(); @@ -1814,7 +1806,6 @@ inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, template<> struct random_impl { - EIGEN_DEVICE_FUNC static inline bool run() { return random(0,1)==0 ? false : true; -- cgit v1.2.3