Loading...
Searching...
No Matches
Go to the documentation of this file.
10#ifndef EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
11#define EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
30#if !defined(EIGEN_GPUCC)
31#if EIGEN_HAS_VARIADIC_TEMPLATES
33 #ifdef EIGEN_COMP_GNUC
34 #if EIGEN_GNUC_AT_LEAST(4,8)
35 #define EIGEN_HAS_SFINAE
38 #define EIGEN_HAS_SFINAE
43#define EIGEN_SFINAE_ENABLE_IF( __condition__ ) \
44 typename internal::enable_if< ( __condition__ ) , int >::type = 0
47#if defined(SYCL_DEVICE_ONLY)
48 #define EIGEN_DEVICE_REF
50 #define EIGEN_DEVICE_REF &
54#define EIGEN_SYCL_TRY_CATCH(X) \
57 EIGEN_CATCH(const cl::sycl::exception& e) { \
58 EIGEN_THROW_X(std::runtime_error("SYCL exception at " + \
59 std::string(__FILE__) + ":" + \
60 std::to_string(__LINE__) + "\n" + \
67#if (!defined(EIGEN_SYCL_LOCAL_MEM) && !defined(EIGEN_SYCL_NO_LOCAL_MEM)) || \
68 (defined(EIGEN_SYCL_LOCAL_MEM) && defined(EIGEN_SYCL_NO_LOCAL_MEM))
69 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_ON 1
70 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_OFF 1
71#elif defined(EIGEN_SYCL_LOCAL_MEM) && !defined(EIGEN_SYCL_NO_LOCAL_MEM)
72 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_ON 1
73#elif !defined(EIGEN_SYCL_LOCAL_MEM) && defined(EIGEN_SYCL_NO_LOCAL_MEM)
74 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_OFF 1
78 #define EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
79 using Base::operator =; \
80 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) { Base::operator=(other); return *this; } \
81 template <typename OtherDerived> \
82 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const OtherDerived& other) { Base::operator=(other); return *this; }
84 #define EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
85 EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived)
94#define EIGEN_TENSOR_INHERIT_ASSIGNMENT_OPERATORS(Derived) \
95 EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
96 EIGEN_DEFAULT_COPY_CONSTRUCTOR(Derived)