diff options
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/Part.h | 6 | ||||
-rw-r--r-- | Eigen/src/Core/util/StaticAssert.h | 4 | ||||
-rw-r--r-- | Eigen/src/Geometry/EulerAngles.h | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/Eigen/src/Core/Part.h b/Eigen/src/Core/Part.h index 22eb65318..3928f51d3 100644 --- a/Eigen/src/Core/Part.h +++ b/Eigen/src/Core/Part.h @@ -88,8 +88,10 @@ template<typename MatrixType, unsigned int Mode> class Part inline Scalar coeff(int row, int col) const { + // SelfAdjointBit doesn't play any role here: just because a matrix is selfadjoint doesn't say anything about + // each individual coefficient, except for the not-very-useful-here fact that diagonal coefficients are real. if( ((Flags & LowerTriangularBit) && (col>row)) || ((Flags & UpperTriangularBit) && (row>col)) ) - return (Flags & SelfAdjointBit) ? ei_conj(m_matrix.coeff(col, row)) : (Scalar)0; + return (Scalar)0; if(Flags & UnitDiagBit) return col==row ? (Scalar)1 : m_matrix.coeff(row, col); else if(Flags & ZeroDiagBit) @@ -101,7 +103,7 @@ template<typename MatrixType, unsigned int Mode> class Part inline Scalar& coeffRef(int row, int col) { EIGEN_STATIC_ASSERT(!(Flags & UnitDiagBit), writing_to_triangular_part_with_unit_diagonal_is_not_supported) - EIGEN_STATIC_ASSERT(!(Flags & SelfAdjointBit), default_writing_to_selfadjoint_not_supported) + EIGEN_STATIC_ASSERT(!(Flags & SelfAdjointBit), coefficient_write_access_to_selfadjoint_not_supported) ei_assert( (Mode==Upper && col>=row) || (Mode==Lower && col<=row) || (Mode==StrictlyUpper && col>row) diff --git a/Eigen/src/Core/util/StaticAssert.h b/Eigen/src/Core/util/StaticAssert.h index 7e44d6c17..0e2a70638 100644 --- a/Eigen/src/Core/util/StaticAssert.h +++ b/Eigen/src/Core/util/StaticAssert.h @@ -64,13 +64,13 @@ you_called_a_fixed_size_method_on_a_dynamic_size_matrix_or_vector, unaligned_load_and_store_operations_unimplemented_on_AltiVec, numeric_type_must_be_floating_point, - default_writing_to_selfadjoint_not_supported, + coefficient_write_access_to_selfadjoint_not_supported, writing_to_triangular_part_with_unit_diagonal_is_not_supported, this_method_is_only_for_fixed_size, invalid_matrix_product, invalid_vector_vector_product__if_you_wanted_a_dot_or_coeff_wise_product_you_must_use_the_explicit_functions, invalid_matrix_product__if_you_wanted_a_coeff_wise_product_you_must_use_the_explicit_function, - you_mixed_different_numeric_types__you_need_to_use_the_cast_method_of_MatrixBase_to_cast_numeric_types_explicitly + you_mixed_different_numeric_types__you_need_to_use_the_cast_method_of_MatrixBase_to_cast_numeric_types_explicitly }; }; diff --git a/Eigen/src/Geometry/EulerAngles.h b/Eigen/src/Geometry/EulerAngles.h index 7e7c2c60a..f473b14ad 100644 --- a/Eigen/src/Geometry/EulerAngles.h +++ b/Eigen/src/Geometry/EulerAngles.h @@ -41,9 +41,6 @@ * * AngleAxisf(ea[2], Vector3f::UnitZ()); \endcode * This corresponds to the right-multiply conventions (with right hand side frames). */ -// FIXME perhaps the triplet could be template parameters -// and/or packed into constants: EulerXYZ, EulerXYX, etc.... -// FIXME should we support the reversed conventions ? (left multiply) template<typename Derived> inline Matrix<typename MatrixBase<Derived>::Scalar,3,1> MatrixBase<Derived>::eulerAngles(int a0, int a1, int a2) const |