Re: [eigen] compilation failed with devel branch (works fine with 2.0.5)

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


oops, sorry, i caused that problem...

Benoit

2009/9/17 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> 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
>>
>>
>>
>>
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/