[eigen] compilation failed with devel branch (works fine with 2.0.5) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] compilation failed with devel branch (works fine with 2.0.5)
- From: WANG Xuewen <xuewen.wang@xxxxxxxxx>
- Date: Thu, 17 Sep 2009 12:15:29 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=rcTfXS8+OFDHt1TLEBNNNM6pt4n1F/j9wc3xg6FlGqY=; b=Z0t/w+T5m02Ok0m/O1jexkNVJ9VJ5zxPDc+3gXuLq1iXygelqLY4RJzvkaEfogZg6i asDm8jKBWAv82jRDMV1jJ28ncurYEihYV83KNYxzsM5EKJ/eoFbo9Y1FQFhXFYzHeE50 lJBElQI32eTtPMxLalff+Sfy3zH3+xi/F8gMo=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=c5mTDLpuED5cHatCArN5D1lIqLh0WC8PML3sLAKw2SqO/ZMBCLlMJe0fiaFSnRUKqi NkwnSJ4SJy3MJMgeaNHIC4TxOD882XmlGmJFdKB1f4mOGnuqBwVAMA41PSK9dMp/pxId 5grJtmmSjwkcLH+SVYg2GaQeefvTYtcq4m2d0=
Hi,
I have the following example that compiles fine using 2.0.5 but failed
with devel branch.
#include <eigen2/Eigen/Core>
#include <eigen2/Eigen/Array>
#include <eigen2/Eigen/LU>
static const int NMaxTinyMatrixDimension = 7;
typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic,
Eigen::RowMajor | Eigen::DontAlign,
NMaxTinyMatrixDimension, NMaxTinyMatrixDimension>
TinyRMatrix;
void TestInverseCompilation()
{
TinyRMatrix m;
m.setIdentity(5, 5);
TinyRMatrix inverse = m.inverse();
}
The error message is:
In file included from /usr/include/eigen2/Eigen/Core:179,
from test.cpp:3:
/usr/include/eigen2/Eigen/src/Core/Visitor.h: In member function ‘typename Eigen::ei_traits<T>::Scalar Eigen::MatrixBase<Derived>::maxCoeff(int*) const [with Derived = Eigen::CwiseUnaryOp<Eigen::ei_scalar_abs_op<double>, Eigen::Block<Eigen::Block<Eigen::Map<Eigen::Matrix<double, 33331, 33331, 1, 33331, 33331>, 1>, 33331, 33331, 1, 32>, 33331, 33331, 1, 32> >]’:
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:236: instantiated from ‘static void Eigen::ei_partial_lu_impl<Scalar, StorageOrder>::unblocked_lu(Eigen::Block<Eigen::Map<Eigen::Matrix<Scalar, 33331, 33331, StorageOrder, 33331, 33331>, 1>, 33331, 33331, 1, ((Eigen::ei_traits::Flags & Eigen::DirectAccessBit) ? Eigen::DirectAccessBit : (Eigen::ei_traits::Flags & Eigen::SparseBit))>&, int*, int&) [with Scalar = double, int StorageOrder = 1]’
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:280: instantiated from ‘static void Eigen::ei_partial_lu_impl<Scalar, StorageOrder>::blocked_lu(int, int, Scalar*, int, int*, int&, int) [with Scalar = double, int StorageOrder = 1]’
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:348: instantiated from ‘void Eigen::ei_partial_lu_inplace(MatrixType&, IntVector&, int&) [with MatrixType = Eigen::Matrix<double, 33331, 33331, 1, 7, 7>, IntVector = Eigen::Matrix<int, 33331, 1, 0, 33331, 1>]’
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:365: instantiated from ‘Eigen::PartialLU<MatrixType>& Eigen::PartialLU<MatrixType>::compute(const MatrixType&) [with MatrixType = Eigen::Matrix<double, 33331, 33331, 1, 7, 7>]’
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:202: instantiated from ‘Eigen::PartialLU<MatrixType>::PartialLU(const MatrixType&) [with MatrixType = Eigen::Matrix<double, 33331, 33331, 1, 7, 7>]’
/usr/include/eigen2/Eigen/src/LU/PartialLU.h:424: instantiated from ‘const Eigen::PartialLU<typename Eigen::MatrixBase<Derived>::PlainMatrixType> Eigen::MatrixBase<Derived>::partialLu() const [with Derived = Eigen::Matrix<double, 33331, 33331, 1, 7, 7>]’
/usr/include/eigen2/Eigen/src/LU/Inverse.h:203: instantiated from ‘static void Eigen::ei_compute_inverse<MatrixType, Size>::run(const MatrixType&, MatrixType*) [with MatrixType = Eigen::Matrix<double, 33331, 33331, 1, 7, 7>, int Size = 33331]’
/usr/include/eigen2/Eigen/src/LU/Inverse.h:263: instantiated from ‘void Eigen::MatrixBase<Derived>::computeInverse(typename Eigen::ei_plain_matrix_type<Derived>::type*) const [with Derived = Eigen::Matrix<double, 33331, 33331, 3, 7, 7>]’
/usr/include/eigen2/Eigen/src/LU/Inverse.h:285: instantiated from ‘const typename Eigen::MatrixBase<Derived>::PlainMatrixType Eigen::MatrixBase<Derived>::inverse() const [with Derived = Eigen::Matrix<double, 33331, 33331, 3, 7, 7>]’
test.cpp:17: instantiated from here
/usr/include/eigen2/Eigen/src/Core/Visitor.h:221: error: ‘YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX’ is not a member of ‘Eigen::ei_static_assert<false>’
I don't think that the function inverse is deprecated so I wonder if
this is a regression or I should modify my code(but I don't know how though)
thanks,
Xuewen