Warning, file /include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
0011 #define EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #if !defined(EIGEN_GPUCC)
0031 #if EIGEN_HAS_VARIADIC_TEMPLATES
0032
0033 #ifdef EIGEN_COMP_GNUC
0034 #if EIGEN_GNUC_AT_LEAST(4,8)
0035 #define EIGEN_HAS_SFINAE
0036 #endif
0037 #else
0038 #define EIGEN_HAS_SFINAE
0039 #endif
0040 #endif
0041 #endif
0042
0043 #define EIGEN_SFINAE_ENABLE_IF( __condition__ ) \
0044 typename internal::enable_if< ( __condition__ ) , int >::type = 0
0045
0046
0047 #if defined(SYCL_DEVICE_ONLY)
0048 #define EIGEN_DEVICE_REF
0049 #else
0050 #define EIGEN_DEVICE_REF &
0051 #endif
0052
0053
0054 #define EIGEN_SYCL_TRY_CATCH(X) \
0055 do { \
0056 EIGEN_TRY {X;} \
0057 EIGEN_CATCH(const cl::sycl::exception& e) { \
0058 EIGEN_THROW_X(std::runtime_error("SYCL exception at " + \
0059 std::string(__FILE__) + ":" + \
0060 std::to_string(__LINE__) + "\n" + \
0061 e.what())); \
0062 } \
0063 } while (false)
0064
0065
0066
0067 #if (!defined(EIGEN_SYCL_LOCAL_MEM) && !defined(EIGEN_SYCL_NO_LOCAL_MEM)) || \
0068 (defined(EIGEN_SYCL_LOCAL_MEM) && defined(EIGEN_SYCL_NO_LOCAL_MEM))
0069 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_ON 1
0070 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_OFF 1
0071 #elif defined(EIGEN_SYCL_LOCAL_MEM) && !defined(EIGEN_SYCL_NO_LOCAL_MEM)
0072 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_ON 1
0073 #elif !defined(EIGEN_SYCL_LOCAL_MEM) && defined(EIGEN_SYCL_NO_LOCAL_MEM)
0074 #define EIGEN_SYCL_LOCAL_MEM_UNSET_OR_OFF 1
0075 #endif
0076
0077 #if EIGEN_COMP_CLANG
0078 #define EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
0079 using Base::operator =; \
0080 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) { Base::operator=(other); return *this; } \
0081 template <typename OtherDerived> \
0082 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const OtherDerived& other) { Base::operator=(other); return *this; }
0083 #else
0084 #define EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
0085 EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived)
0086 #endif
0087
0088
0089
0090
0091
0092
0093
0094 #define EIGEN_TENSOR_INHERIT_ASSIGNMENT_OPERATORS(Derived) \
0095 EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
0096 EIGEN_DEFAULT_COPY_CONSTRUCTOR(Derived)
0097
0098 #endif