[eigen] triangular test fails to compile

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


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/