diff options
author | David Tellenbach <david.tellenbach@me.com> | 2021-03-05 13:16:43 +0100 |
---|---|---|
committer | David Tellenbach <david.tellenbach@me.com> | 2021-03-05 13:16:43 +0100 |
commit | 5f0b4a4010af4cbf6161a0d1a03a747addc44a5d (patch) | |
tree | 23356aec10fb951fb51adf970a810e7ae18cf940 /Eigen/src/Core/util | |
parent | 6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 (diff) |
Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), outerStride(), and size()"
This reverts commit 6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 because it
breaks clang-10 builds on x86 and aarch64 when C++11 is enabled.
Diffstat (limited to 'Eigen/src/Core/util')
-rw-r--r-- | Eigen/src/Core/util/IndexedViewHelper.h | 12 | ||||
-rw-r--r-- | Eigen/src/Core/util/IntegralConstant.h | 2 | ||||
-rwxr-xr-x | Eigen/src/Core/util/Meta.h | 68 | ||||
-rw-r--r-- | Eigen/src/Core/util/SymbolicIndex.h | 2 | ||||
-rw-r--r-- | Eigen/src/Core/util/XprHelper.h | 27 |
5 files changed, 53 insertions, 58 deletions
diff --git a/Eigen/src/Core/util/IndexedViewHelper.h b/Eigen/src/Core/util/IndexedViewHelper.h index f85de305f..1cda85060 100644 --- a/Eigen/src/Core/util/IndexedViewHelper.h +++ b/Eigen/src/Core/util/IndexedViewHelper.h @@ -78,7 +78,7 @@ template<typename T, typename EnableIf = void> struct get_compile_time_incr { // Analogue of std::get<0>(x), but tailored for our needs. template<typename T> -EIGEN_CONSTEXPR Index first(const T& x) EIGEN_NOEXCEPT { return x.first(); } +Index first(const T& x) { return x.first(); } // IndexedViewCompatibleType/makeIndexedViewCompatible turn an arbitrary object of type T into something usable by MatrixSlice // The generic implementation is a no-op @@ -100,8 +100,8 @@ struct SingleRange { }; SingleRange(Index val) : m_value(val) {} Index operator[](Index) const { return m_value; } - static EIGEN_CONSTEXPR Index size() EIGEN_NOEXCEPT { return 1; } - Index first() const EIGEN_NOEXCEPT { return m_value; } + Index size() const { return 1; } + Index first() const { return m_value; } Index m_value; }; @@ -141,9 +141,9 @@ template<int XprSize> struct AllRange { enum { SizeAtCompileTime = XprSize }; AllRange(Index size = XprSize) : m_size(size) {} - EIGEN_CONSTEXPR Index operator[](Index i) const EIGEN_NOEXCEPT { return i; } - EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT { return m_size.value(); } - EIGEN_CONSTEXPR Index first() const EIGEN_NOEXCEPT { return 0; } + Index operator[](Index i) const { return i; } + Index size() const { return m_size.value(); } + Index first() const { return 0; } variable_if_dynamic<Index,XprSize> m_size; }; diff --git a/Eigen/src/Core/util/IntegralConstant.h b/Eigen/src/Core/util/IntegralConstant.h index ef3fdfb94..caeea232d 100644 --- a/Eigen/src/Core/util/IntegralConstant.h +++ b/Eigen/src/Core/util/IntegralConstant.h @@ -52,7 +52,7 @@ template<int N> class FixedInt { public: static const int value = N; - EIGEN_CONSTEXPR operator int() const { return value; } + operator int() const { return value; } FixedInt() {} FixedInt( VariableAndFixedInt<N> other) { #ifndef EIGEN_INTERNAL_DEBUGGING diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 85d35fc4e..cad57c3a4 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -286,7 +286,7 @@ namespace device { template<typename T> struct numeric_limits { EIGEN_DEVICE_FUNC - static EIGEN_CONSTEXPR T epsilon() { return 0; } + static T epsilon() { return 0; } static T (max)() { assert(false && "Highest not supported for this type"); } static T (min)() { assert(false && "Lowest not supported for this type"); } static T infinity() { assert(false && "Infinity not supported for this type"); } @@ -294,9 +294,9 @@ template<typename T> struct numeric_limits }; template<> struct numeric_limits<float> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static float epsilon() { return __FLT_EPSILON__; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static float (max)() { #if defined(EIGEN_CUDA_ARCH) return CUDART_MAX_NORMAL_F; @@ -304,9 +304,9 @@ template<> struct numeric_limits<float> return HIPRT_MAX_NORMAL_F; #endif } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static float (min)() { return FLT_MIN; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static float infinity() { #if defined(EIGEN_CUDA_ARCH) return CUDART_INF_F; @@ -314,7 +314,7 @@ template<> struct numeric_limits<float> return HIPRT_INF_F; #endif } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static float quiet_NaN() { #if defined(EIGEN_CUDA_ARCH) return CUDART_NAN_F; @@ -325,13 +325,13 @@ template<> struct numeric_limits<float> }; template<> struct numeric_limits<double> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static double epsilon() { return __DBL_EPSILON__; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static double (max)() { return DBL_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static double (min)() { return DBL_MIN; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static double infinity() { #if defined(EIGEN_CUDA_ARCH) return CUDART_INF; @@ -339,7 +339,7 @@ template<> struct numeric_limits<double> return HIPRT_INF; #endif } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static double quiet_NaN() { #if defined(EIGEN_CUDA_ARCH) return CUDART_NAN; @@ -350,65 +350,65 @@ template<> struct numeric_limits<double> }; template<> struct numeric_limits<int> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static int epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static int (max)() { return INT_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static int (min)() { return INT_MIN; } }; template<> struct numeric_limits<unsigned int> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned int epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned int (max)() { return UINT_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned int (min)() { return 0; } }; template<> struct numeric_limits<long> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long (max)() { return LONG_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long (min)() { return LONG_MIN; } }; template<> struct numeric_limits<unsigned long> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long (max)() { return ULONG_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long (min)() { return 0; } }; template<> struct numeric_limits<long long> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long long epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long long (max)() { return LLONG_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static long long (min)() { return LLONG_MIN; } }; template<> struct numeric_limits<unsigned long long> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long long epsilon() { return 0; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long long (max)() { return ULLONG_MAX; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static unsigned long long (min)() { return 0; } }; template<> struct numeric_limits<bool> { - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static bool epsilon() { return false; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static bool (max)() { return true; } - EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR + EIGEN_DEVICE_FUNC static bool (min)() { return false; } }; @@ -476,10 +476,10 @@ template<typename T, std::size_t N> struct array_size<std::array<T,N> > { * */ template<typename T> -EIGEN_CONSTEXPR Index size(const T& x) { return x.size(); } +Index size(const T& x) { return x.size(); } template<typename T,std::size_t N> -EIGEN_CONSTEXPR Index size(const T (&) [N]) { return N; } +Index size(const T (&) [N]) { return N; } /** \internal * Convenient struct to get the result type of a nullary, unary, binary, or diff --git a/Eigen/src/Core/util/SymbolicIndex.h b/Eigen/src/Core/util/SymbolicIndex.h index 354dd9add..17cf46f05 100644 --- a/Eigen/src/Core/util/SymbolicIndex.h +++ b/Eigen/src/Core/util/SymbolicIndex.h @@ -65,7 +65,7 @@ class ValueExpr<internal::FixedInt<N> > { public: ValueExpr() {} template<typename T> - EIGEN_CONSTEXPR Index eval_impl(const T&) const { return N; } + Index eval_impl(const T&) const { return N; } }; diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 4ae86c45e..f83bca15a 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -131,12 +131,9 @@ template<typename T, int Value> class variable_if_dynamic public: EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(variable_if_dynamic) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit variable_if_dynamic(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); eigen_assert(v == T(Value)); } - EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE EIGEN_CONSTEXPR - T value() { return T(Value); } - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR - operator T() const { return T(Value); } - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR - void setValue(T) {} + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE T value() { return T(Value); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE operator T() const { return T(Value); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T) {} }; template<typename T> class variable_if_dynamic<T, Dynamic> @@ -157,10 +154,8 @@ template<typename T, int Value> class variable_if_dynamicindex public: EIGEN_EMPTY_STRUCT_CTOR(variable_if_dynamicindex) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit variable_if_dynamicindex(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); eigen_assert(v == T(Value)); } - EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE EIGEN_CONSTEXPR - T value() { return T(Value); } - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR - void setValue(T) {} + EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE T value() { return T(Value); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T) {} }; template<typename T> class variable_if_dynamicindex<T, DynamicIndex> @@ -433,7 +428,7 @@ struct ref_selector T const&, const T >::type type; - + typedef typename conditional< bool(traits<T>::Flags & NestByRefBit), T &, @@ -619,7 +614,7 @@ struct plain_row_type typedef typename conditional< is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value, MatrixRowType, - ArrayRowType + ArrayRowType >::type type; }; @@ -634,7 +629,7 @@ struct plain_col_type typedef typename conditional< is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value, MatrixColType, - ArrayColType + ArrayColType >::type type; }; @@ -650,7 +645,7 @@ struct plain_diag_type typedef typename conditional< is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value, MatrixDiagType, - ArrayDiagType + ArrayDiagType >::type type; }; @@ -766,7 +761,7 @@ std::string demangle_flags(int f) if(f&DirectAccessBit) res += " | Direct"; if(f&NestByRefBit) res += " | NestByRef"; if(f&NoPreferredStorageOrderBit) res += " | NoPreferredStorageOrderBit"; - + return res; } #endif @@ -863,7 +858,7 @@ struct ScalarBinaryOpTraits<void,void,BinaryOp> #define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP,LHS,RHS) \ EIGEN_STATIC_ASSERT((Eigen::internal::has_ReturnType<ScalarBinaryOpTraits<LHS, RHS,BINOP> >::value), \ YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) - + } // end namespace Eigen #endif // EIGEN_XPRHELPER_H |