diff --git a/Eigen/src/Geometry/Homogeneous.h b/Eigen/src/Geometry/Homogeneous.h index 4a113cfc7..0cf626e3f 100644 --- a/Eigen/src/Geometry/Homogeneous.h +++ b/Eigen/src/Geometry/Homogeneous.h @@ -217,8 +217,8 @@ struct ei_homogeneous_left_product_impl,Lhs> : m_lhs(lhs), m_rhs(rhs) {} - inline int rows() const { m_lhs.rows(); } - inline int cols() const { m_rhs.cols(); } + inline int rows() const { return m_lhs.rows(); } + inline int cols() const { return m_rhs.cols(); } template void evalTo(Dest& dst) const { diff --git a/Eigen/src/LU/Determinant.h b/Eigen/src/LU/Determinant.h index 42b0cb8fb..b587065ed 100644 --- a/Eigen/src/LU/Determinant.h +++ b/Eigen/src/LU/Determinant.h @@ -41,6 +41,8 @@ const typename Derived::Scalar ei_bruteforce_det4_helper * (matrix.coeff(m,2) * matrix.coeff(n,3) - matrix.coeff(n,2) * matrix.coeff(m,3)); } +// FIXME update computation of triangular det + const int TriangularDeterminant = 0; template void determinant(const MatrixType& m) typedef typename MatrixType::Scalar Scalar; Scalar x = ei_random(); VERIFY_IS_APPROX(MatrixType::Identity(size, size).determinant(), Scalar(1)); - VERIFY_IS_APPROX((m1*m2).determinant(), m1.determinant() * m2.determinant()); + VERIFY_IS_APPROX((m1*m2).eval().determinant(), m1.determinant() * m2.determinant()); if(size==1) return; int i = ei_random(0, size-1); int j;