aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/MathFunctions.h
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2017-07-07 16:27:33 +0000
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2017-07-07 16:27:33 +0000
commitc5a241ab9b4068dea13449ca6d596b79613df3e1 (patch)
tree9309bdd9f327290856a72a1807e9eaaeae2dd7df /Eigen/src/Core/MathFunctions.h
parentb7ae4dd9ef28525283e53e6b860d7d0682ef9324 (diff)
parent62b4634ebe7cd7d391e91be812e5c18418db705a (diff)
Merged in benoitsteiner/opencl (pull request PR-323)
Improved support for OpenCL
Diffstat (limited to 'Eigen/src/Core/MathFunctions.h')
-rw-r--r--Eigen/src/Core/MathFunctions.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/Eigen/src/Core/MathFunctions.h b/Eigen/src/Core/MathFunctions.h
index f5635c076..75f34aa91 100644
--- a/Eigen/src/Core/MathFunctions.h
+++ b/Eigen/src/Core/MathFunctions.h
@@ -1378,9 +1378,19 @@ T acos(const T &x) {
return acos(x);
}
+
+template<typename T>
+EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
+T acosh(const T &x) {
+ EIGEN_USING_STD_MATH(acosh);
+ return acosh(x);
+}
+
#if defined(__SYCL_DEVICE_ONLY__)
EIGEN_ALWAYS_INLINE float acos(float x) { return cl::sycl::acos(x); }
EIGEN_ALWAYS_INLINE double acos(double x) { return cl::sycl::acos(x); }
+EIGEN_ALWAYS_INLINE float acosh(float x) { return cl::sycl::acosh(x); }
+EIGEN_ALWAYS_INLINE double acosh(double x) { return cl::sycl::acosh(x); }
#endif // defined(__SYCL_DEVICE_ONLY__)
#ifdef __CUDACC__
@@ -1398,9 +1408,18 @@ T asin(const T &x) {
return asin(x);
}
+template<typename T>
+EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
+T asinh(const T &x) {
+ EIGEN_USING_STD_MATH(asinh);
+ return asinh(x);
+}
+
#if defined(__SYCL_DEVICE_ONLY__)
EIGEN_ALWAYS_INLINE float asin(float x) { return cl::sycl::asin(x); }
EIGEN_ALWAYS_INLINE double asin(double x) { return cl::sycl::asin(x); }
+EIGEN_ALWAYS_INLINE float asinh(float x) { return cl::sycl::asinh(x); }
+EIGEN_ALWAYS_INLINE double asinh(double x) { return cl::sycl::asinh(x); }
#endif // defined(__SYCL_DEVICE_ONLY__)
#ifdef __CUDACC__
@@ -1418,9 +1437,18 @@ T atan(const T &x) {
return atan(x);
}
+template<typename T>
+EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
+T atanh(const T &x) {
+ EIGEN_USING_STD_MATH(atanh);
+ return atanh(x);
+}
+
#if defined(__SYCL_DEVICE_ONLY__)
EIGEN_ALWAYS_INLINE float atan(float x) { return cl::sycl::atan(x); }
EIGEN_ALWAYS_INLINE double atan(double x) { return cl::sycl::atan(x); }
+EIGEN_ALWAYS_INLINE float atanh(float x) { return cl::sycl::atanh(x); }
+EIGEN_ALWAYS_INLINE double atanh(double x) { return cl::sycl::atanh(x); }
#endif // defined(__SYCL_DEVICE_ONLY__)
#ifdef __CUDACC__