Re: [eigen] triangular test fails to compile

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


Just to clarify: as you note, it's only the tests on 1x1 matrices that
are failing. Thus, for practical matters, the development branch is
very usable at the moment.

Benoit

2010/3/29 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> Yes, I know about this problem, this is one of the things that my fork
> eigen-storageorders is aiming to fix, sorry for the long time it's
> taking, it's very unusual for us to have tests failing for so long.
>
> Benoit
>
> 2010/3/29 Riccardo Gori <goriccardo@xxxxxxxxx>:
>> Hello everybody,
>> using hg version of Eigen I can't compile the following tests (make check):
>>
>> - triangular (CALL_SUBTEST_1)
>> - product_trsolve (CALL_SUBTEST_5)
>> - cholesky (CALL_SUBTEST_1)
>> - eigensolver_selfadjoint (CALL_SUBTEST_6)
>> - matrix_function (CALL_SUBTEST_1) [in unsupported]
>>
>> They have in common the use of 1x1 matrices; here is the error of triangular,
>> others errors are similar:
>>
>> In file included from /home/riccardo/Sources/eigen/Eigen/Core:256,
>>                 from /home/riccardo/Sources/eigen/Eigen/QR:4,
>>                 from /home/riccardo/Sources/eigen/test/main.h:153,
>>                 from /home/riccardo/Sources/eigen/test/triangular.cpp:25:
>> /home/riccardo/Sources/eigen/Eigen/src/Core/CwiseBinaryOp.h: In constructor
>> ‘Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::CwiseBinaryOp(const Lhs&, const
>> Rhs&, const BinaryOp&) [with BinaryOp = Eigen::ei_scalar_product_op<float>, Lhs
>> =
>> Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Transpose<Eigen::Matrix<float,
>> 1, 1, 0, 1, 1> >, 1, 1, 32>, 1, 0, 32> >, Rhs =
>> Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1, 1>, 1, 0, 32>]’:
>> /home/riccardo/Sources/eigen/Eigen/src/Core/../plugins/MatrixCwiseBinaryOps.h:39:
>> instantiated from ‘const
>> Eigen::CwiseBinaryOp<Eigen::ei_scalar_product_op<typename
>> Eigen::ei_scalar_product_traits<typename Eigen::ei_traits<T>::Scalar, typename
>> Eigen::ei_traits<OtherDerived>::Scalar>::ReturnType>, Derived, OtherDerived>
>> Eigen::MatrixBase<Derived>::cwiseProduct(const
>> Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived =
>> Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1, 1>, 1, 0, 32>, Derived =
>> Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Transpose<Eigen::Matrix<float,
>> 1, 1, 0, 1, 1> >, 1, 1, 32>, 1, 0, 32> >]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:208:
>> instantiated from ‘static void Eigen::ei_triangular_solver_unroller<Lhs, Rhs,
>> Mode, Index, Size, false>::run(const Lhs&, Rhs&) [with Lhs =
>> Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1> >, Rhs =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, int Mode = 2, int Index = 0, int Size =
>> 1]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:225:
>> instantiated from ‘static void Eigen::ei_triangular_solver_selector<Lhs, Rhs,
>> 1, Mode, 2, StorageOrder, 1>::run(const Lhs&, Rhs&) [with Lhs =
>> Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1> >, Rhs =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, int Mode = 2, int StorageOrder = 1]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:256:
>> instantiated from ‘void Eigen::TriangularView<MatrixType,
>> Mode>::solveInPlace(const Eigen::MatrixBase<OtherDerived>&) const [with int
>> Side = 1, OtherDerived = Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1>
>>>, _MatrixType = Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1> >,
>> unsigned int _Mode = 2u]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/TriangularMatrix.h:285:
>> instantiated from ‘void Eigen::TriangularView<MatrixType,
>> Mode>::solveInPlace(const Eigen::MatrixBase<OtherDerived>&) const [with
>> OtherDerived = Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1> >,
>> _MatrixType = Eigen::Transpose<Eigen::Matrix<float, 1, 1, 0, 1, 1> >, unsigned
>> int _Mode = 2u]’
>> /home/riccardo/Sources/eigen/test/triangular.cpp:113:   instantiated from
>> ‘void triangular_square(const MatrixType&) [with MatrixType =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>]’
>> /home/riccardo/Sources/eigen/test/triangular.cpp:241:   instantiated from here
>> /home/riccardo/Sources/eigen/Eigen/src/Core/CwiseBinaryOp.h:120: error:
>> ‘YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES’ is not a member of
>> ‘Eigen::ei_static_assert<false>’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/CwiseBinaryOp.h: In constructor
>> ‘Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::CwiseBinaryOp(const Lhs&, const
>> Rhs&, const BinaryOp&) [with BinaryOp = Eigen::ei_scalar_product_op<float>, Lhs
>> = Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1,
>> 1>, 1, 1, 32>, 1, 0, 32> >, Rhs = Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1,
>> 1>, 1, 0, 32>]’:
>> /home/riccardo/Sources/eigen/Eigen/src/Core/../plugins/MatrixCwiseBinaryOps.h:39:
>> instantiated from ‘const
>> Eigen::CwiseBinaryOp<Eigen::ei_scalar_product_op<typename
>> Eigen::ei_scalar_product_traits<typename Eigen::ei_traits<T>::Scalar, typename
>> Eigen::ei_traits<OtherDerived>::Scalar>::ReturnType>, Derived, OtherDerived>
>> Eigen::MatrixBase<Derived>::cwiseProduct(const
>> Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived =
>> Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1, 1>, 1, 0, 32>, Derived =
>> Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 1, 1, 0, 1, 1>,
>> 1, 1, 32>, 1, 0, 32> >]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:208:
>> instantiated from ‘static void Eigen::ei_triangular_solver_unroller<Lhs, Rhs,
>> Mode, Index, Size, false>::run(const Lhs&, Rhs&) [with Lhs =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, Rhs = Eigen::Matrix<float, 1, 1, 0, 1, 1>,
>> int Mode = 2, int Index = 0, int Size = 1]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:225:
>> instantiated from ‘static void Eigen::ei_triangular_solver_selector<Lhs, Rhs,
>> 1, Mode, 2, StorageOrder, 1>::run(const Lhs&, Rhs&) [with Lhs =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, Rhs = Eigen::Matrix<float, 1, 1, 0, 1, 1>,
>> int Mode = 2, int StorageOrder = 0]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:256:
>> instantiated from ‘void Eigen::TriangularView<MatrixType,
>> Mode>::solveInPlace(const Eigen::MatrixBase<OtherDerived>&) const [with int
>> Side = 1, OtherDerived = Eigen::Matrix<float, 1, 1, 0, 1, 1>, _MatrixType =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, unsigned int _Mode = 2u]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/SolveTriangular.h:300:
>> instantiated from ‘typename
>> Eigen::ei_plain_matrix_type_column_major<OtherDerived>::type
>> Eigen::TriangularView<MatrixType, Mode>::solve(const
>> Eigen::MatrixBase<OtherDerived>&) const [with int Side = 1, OtherDerived =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, _MatrixType = Eigen::Matrix<float, 1, 1, 0,
>> 1, 1>, unsigned int _Mode = 2u]’
>> /home/riccardo/Sources/eigen/Eigen/src/Core/TriangularMatrix.h:281:
>> instantiated from ‘typename
>> Eigen::ei_plain_matrix_type_column_major<OtherDerived>::type
>> Eigen::TriangularView<MatrixType, Mode>::solve(const
>> Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived =
>> Eigen::Matrix<float, 1, 1, 0, 1, 1>, _MatrixType = Eigen::Matrix<float, 1, 1, 0,
>> 1, 1>, unsigned int _Mode = 2u]’
>> /home/riccardo/Sources/eigen/test/triangular.cpp:97:   instantiated from ‘void
>> triangular_square(const MatrixType&) [with MatrixType = Eigen::Matrix<float, 1,
>> 1, 0, 1, 1>]’
>> /home/riccardo/Sources/eigen/test/triangular.cpp:241:   instantiated from here
>> /home/riccardo/Sources/eigen/Eigen/src/Core/CwiseBinaryOp.h:120: error:
>> ‘YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES’ is not a member of
>> ‘Eigen::ei_static_assert<false>’
>> make[3]: *** [test/CMakeFiles/triangular_1.dir/triangular.cpp.o] Error 1
>> make[2]: *** [test/CMakeFiles/triangular_1.dir/all] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>>
>>
>> I'm using x86_64 linux with GCC 4.4.3 (on Fedora) with vectorization enabled.
>>
>> Thanks,
>> Riccardo
>>
>>
>>
>



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