aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-08-06 16:54:55 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-08-06 16:54:55 +0200
commit9822493aafb8cc798e95aa9bccf44ba100a2ee37 (patch)
treed712488933b244209ef59dc38f1676651c406124
parent3ac01b1400dccefcb2db85ab1caf88fc3bd379db (diff)
fixes in determinant and homogeneous
-rw-r--r--Eigen/src/Geometry/Homogeneous.h4
-rw-r--r--Eigen/src/LU/Determinant.h2
-rw-r--r--test/determinant.cpp2
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;