aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Eigen/Array4
-rw-r--r--Eigen/Cholesky4
-rw-r--r--Eigen/Core4
-rw-r--r--Eigen/Geometry6
-rw-r--r--Eigen/LU4
-rw-r--r--Eigen/QR5
-rw-r--r--Eigen/Regression6
-rw-r--r--Eigen/SVD4
-rw-r--r--Eigen/Sparse5
-rw-r--r--Eigen/src/Core/util/StaticAssert.h16
-rw-r--r--Eigen/src/Geometry/Quaternion.h2
11 files changed, 56 insertions, 4 deletions
diff --git a/Eigen/Array b/Eigen/Array
index c9e6c761a..dc1cf03c0 100644
--- a/Eigen/Array
+++ b/Eigen/Array
@@ -3,6 +3,8 @@
#include "Core"
+#include "src/Core/util/DisableMSVCWarnings.h"
+
namespace Eigen {
/** \defgroup Array Array module
@@ -32,4 +34,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_ARRAY_MODULE_H
diff --git a/Eigen/Cholesky b/Eigen/Cholesky
index ddde61a31..3c3ffb936 100644
--- a/Eigen/Cholesky
+++ b/Eigen/Cholesky
@@ -3,6 +3,8 @@
#include "Core"
+#include "src/Core/util/DisableMSVCWarnings.h"
+
// Note that EIGEN_HIDE_HEAVY_CODE has to be defined per module
#if (defined EIGEN_EXTERN_INSTANTIATIONS) && (EIGEN_EXTERN_INSTANTIATIONS>=2)
#ifndef EIGEN_HIDE_HEAVY_CODE
@@ -57,4 +59,6 @@ namespace Eigen {
} // namespace Eigen
#endif
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_CHOLESKY_MODULE_H
diff --git a/Eigen/Core b/Eigen/Core
index 1ff197a28..ff22d40a8 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -2,8 +2,8 @@
#define EIGEN_CORE_H
// first thing Eigen does: prevent MSVC from committing suicide
+#include "src/Core/util/DisableMSVCWarnings.h"
#ifdef _MSC_VER
- #pragma warning( disable : 4181 4244 )
#if (_MSC_VER >= 1500) // 2008 or later
// Remember that usage of defined() in a #define is undefined by the standard
#ifdef _M_IX86_FP
@@ -144,4 +144,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_CORE_H
diff --git a/Eigen/Geometry b/Eigen/Geometry
index 95a3e9bed..5a674a163 100644
--- a/Eigen/Geometry
+++ b/Eigen/Geometry
@@ -1,6 +1,10 @@
#ifndef EIGEN_GEOMETRY_MODULE_H
#define EIGEN_GEOMETRY_MODULE_H
+#include "Core"
+
+#include "src/Core/util/DisableMSVCWarnings.h"
+
#include "Array"
#include <limits>
@@ -39,4 +43,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_GEOMETRY_MODULE_H
diff --git a/Eigen/LU b/Eigen/LU
index a6b486b00..0ce694565 100644
--- a/Eigen/LU
+++ b/Eigen/LU
@@ -3,6 +3,8 @@
#include "Core"
+#include "src/Core/util/DisableMSVCWarnings.h"
+
namespace Eigen {
/** \defgroup LU_Module LU module
@@ -22,4 +24,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_LU_MODULE_H
diff --git a/Eigen/QR b/Eigen/QR
index 0c23db2f8..5116b7ff2 100644
--- a/Eigen/QR
+++ b/Eigen/QR
@@ -2,6 +2,9 @@
#define EIGEN_QR_MODULE_H
#include "Core"
+
+#include "src/Core/util/DisableMSVCWarnings.h"
+
#include "Cholesky"
// Note that EIGEN_HIDE_HEAVY_CODE has to be defined per module
@@ -62,4 +65,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_QR_MODULE_H
diff --git a/Eigen/Regression b/Eigen/Regression
index de9e0f04a..71c16773a 100644
--- a/Eigen/Regression
+++ b/Eigen/Regression
@@ -1,6 +1,10 @@
#ifndef EIGEN_REGRESSION_MODULE_H
#define EIGEN_REGRESSION_MODULE_H
+#include "Core"
+
+#include "src/Core/util/DisableMSVCWarnings.h"
+
#include "LU"
#include "QR"
#include "Geometry"
@@ -19,4 +23,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_REGRESSION_MODULE_H
diff --git a/Eigen/SVD b/Eigen/SVD
index cd40804ae..f006a4b91 100644
--- a/Eigen/SVD
+++ b/Eigen/SVD
@@ -3,6 +3,8 @@
#include "Core"
+#include "src/Core/util/DisableMSVCWarnings.h"
+
namespace Eigen {
/** \defgroup SVD_Module SVD module
@@ -19,4 +21,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_SVD_MODULE_H
diff --git a/Eigen/Sparse b/Eigen/Sparse
index b8a10c9e0..6bf263540 100644
--- a/Eigen/Sparse
+++ b/Eigen/Sparse
@@ -2,6 +2,9 @@
#define EIGEN_SPARSE_MODULE_H
#include "Core"
+
+#include "src/Core/util/DisableMSVCWarnings.h"
+
#include <vector>
#include <map>
#include <cstdlib>
@@ -102,4 +105,6 @@ namespace Eigen {
} // namespace Eigen
+#include "src/Core/util/EnableMSVCWarnings.h"
+
#endif // EIGEN_SPARSE_MODULE_H
diff --git a/Eigen/src/Core/util/StaticAssert.h b/Eigen/src/Core/util/StaticAssert.h
index 0e2a70638..2594b73f8 100644
--- a/Eigen/src/Core/util/StaticAssert.h
+++ b/Eigen/src/Core/util/StaticAssert.h
@@ -74,8 +74,20 @@
};
};
- #define EIGEN_STATIC_ASSERT(CONDITION,MSG) \
- if (Eigen::ei_static_assert<CONDITION ? true : false>::MSG) {}
+ // Specialized implementation for MSVC to avoid "conditional
+ // expression is constant" warnings. This implementation doesn't
+ // appear to work under GCC, hence the multiple implementations.
+ #ifdef _MSC_VER
+
+ #define EIGEN_STATIC_ASSERT(CONDITION,MSG) \
+ {Eigen::ei_static_assert<CONDITION ? true : false>::MSG;}
+
+ #else
+
+ #define EIGEN_STATIC_ASSERT(CONDITION,MSG) \
+ if (Eigen::ei_static_assert<CONDITION ? true : false>::MSG) {}
+
+ #endif
#endif // not CXX0X
diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h
index ec79afa25..f6630e63e 100644
--- a/Eigen/src/Geometry/Quaternion.h
+++ b/Eigen/src/Geometry/Quaternion.h
@@ -279,7 +279,7 @@ inline Quaternion<Scalar>& Quaternion<Scalar>::operator=(const Quaternion& other
template<typename Scalar>
inline Quaternion<Scalar>& Quaternion<Scalar>::operator=(const AngleAxisType& aa)
{
- Scalar ha = 0.5*aa.angle();
+ Scalar ha = Scalar(0.5)*aa.angle(); // Scalar(0.5) to suppress precision loss warnings
this->w() = ei_cos(ha);
this->vec() = ei_sin(ha) * aa.axis();
return *this;