diff options
author | 2009-08-06 16:54:55 +0200 | |
---|---|---|
committer | 2009-08-06 16:54:55 +0200 | |
commit | 9822493aafb8cc798e95aa9bccf44ba100a2ee37 (patch) | |
tree | d712488933b244209ef59dc38f1676651c406124 | |
parent | 3ac01b1400dccefcb2db85ab1caf88fc3bd379db (diff) |
fixes in determinant and homogeneous
-rw-r--r-- | Eigen/src/Geometry/Homogeneous.h | 4 | ||||
-rw-r--r-- | Eigen/src/LU/Determinant.h | 2 | ||||
-rw-r--r-- | test/determinant.cpp | 2 |
3 files changed, 5 insertions, 3 deletions
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<Homogeneous<MatrixType,Vertical>,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<typename Dest> 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<typename Derived, diff --git a/test/determinant.cpp b/test/determinant.cpp index 5eb4644a7..d9de5f6ce 100644 --- a/test/determinant.cpp +++ b/test/determinant.cpp @@ -39,7 +39,7 @@ template<typename MatrixType> void determinant(const MatrixType& m) typedef typename MatrixType::Scalar Scalar; Scalar x = ei_random<Scalar>(); 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<int>(0, size-1); int j; |