Re: [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: Re: [eigen] compilation failed with devel branch (works fine with 2.0.5)
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Thu, 17 Sep 2009 15:09:33 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=CmcZahwkQ0tLxcsUc7yaaxbJwSuenty/Ik86O3ACrDA=; b=HZO9dklGYhwSY76aukRjJCqHO3keDpDKkyHpLhPd3BI5vgENsvnxrshlFG32PAnO8F xhN6xzFxAxf/uidbzSMe2lFilQLLMBxYJd7LCg4vvBs/R72LKNQsjDpehNvUsNFUik00 OtZKZa4ojPVW+KkRtd+M2nRaT0FeWNhYgykO8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=nHchNBPYSgjHSEWxnd2NhDMyYhdko3UbvQ59nbhpJKIR3WAR7tSErrhW+RuZrlw499 Kzu3JV18FHN4wPUuXJSouO7jw9Uw2cJdSAFmZslGBiHpo0nsTu4TAYeOd3Fc9Dj1Dtot wcI1KaqeC+pgUPRq6Z96BX55SpEBeByCq05vA=
hi,
yes I was aware about that issue (see
http://eigen.tuxfamily.org/CDash/index.php?project=Eigen&date=2009-09-16)
problem fixed now.
gael.
On Thu, Sep 17, 2009 at 12:15 PM, WANG Xuewen <xuewen.wang@xxxxxxxxx> wrote:
> 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
>
>
>
>