Fix compilation issues with icc and g++ < 4.1. Those include:

- conflicts with operator * overloads
 - discard the use of ei_pdiv for interger
   (g++ handles operators on __m128* types, this is why it worked)
 - weird behavior of icc in fixed size Block() constructor complaining
   the initializer of m_blockRows and m_blockCols were missing while
   we are in fixed size (maybe this hide deeper problem since this is a
   recent one, but icc gives only little feedback)
This commit is contained in:
Gael Guennebaud
2008-07-21 12:40:56 +00:00
parent c10f069b6b
commit 516db2c3b9
5 changed files with 14 additions and 5 deletions

View File

@@ -74,7 +74,7 @@ public:
inline AngleAxis(const QuaternionType& q) { *this = q; }
/** Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix. */
template<typename Derived>
inline AngleAxis(const MatrixBase<Derived>& m) { *this = m; }
inline explicit AngleAxis(const MatrixBase<Derived>& m) { *this = m; }
Scalar angle() const { return m_angle; }
Scalar& angle() { return m_angle; }