aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/util
diff options
context:
space:
mode:
authorGravatar David Tellenbach <david.tellenbach@me.com>2021-03-05 13:16:43 +0100
committerGravatar David Tellenbach <david.tellenbach@me.com>2021-03-05 13:16:43 +0100
commit5f0b4a4010af4cbf6161a0d1a03a747addc44a5d (patch)
tree23356aec10fb951fb51adf970a810e7ae18cf940 /Eigen/src/Core/util
parent6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 (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.h12
-rw-r--r--Eigen/src/Core/util/IntegralConstant.h2
-rwxr-xr-xEigen/src/Core/util/Meta.h68
-rw-r--r--Eigen/src/Core/util/SymbolicIndex.h2
-rw-r--r--Eigen/src/Core/util/XprHelper.h27
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