[eigen] matrix-size-mismatch error in EIGEN_TEST_PART1 test/triangular.cpp

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


Hi eigen developers,

   I am trying to build the test suite off the default branch in the Hg repo. The following line in test/triangular.cpp is causing a 
matrix-size-mismatch static assertion fail on my platform:

void test_triangular() { // ...
    CALL_SUBTEST_1( triangular_square(Matrix<float, 1, 1>()) );


Commenting this line out gets the compilation back on track. Looks like the corner case of a 1x1 matrix needs a little more 
attention.

My platform is gcc 4.2.4 / KUbuntu 8.04 / Intel Core 2

The exact error log is provided below. My working copy is in sync with the Hg repo and I have made no changes. 

thanks,
Manoj

cd /extra/home/rmanoj/Software/Libraries/eigen-hg/build/test 
&& /usr/bin/c++   -DHAS_GSL -DEIGEN_CHOLMOD_SUPPORT -DEIGEN_UMFPACK_SUPPORT -DEIGEN_SUPERLU_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NO_DEBUG -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fexceptions -fno-check-new -fno-common -fstrict-aliasing -Wno-variadic-macros -Wextra -pedantic -msse2 -msse3  -g2 -g0 -O3  -fno-inline-functions -I/extra/home/rmanoj/Software/Libraries/eigen-hg/build/test -I/extra/home/rmanoj/Software/Libraries/eigen-hg/test -I/extra/home/rmanoj/Software/Libraries/eigen-hg -I/extra/home/rmanoj/Software/Libraries/eigen-hg/build -I/usr/include/suitesparse -I/usr/include/superlu -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore    -DEIGEN_TEST_FUNC=triangular  -DEIGEN_TEST_PART_1=1 -o 
CMakeFiles/triangular_1.dir/triangular.cpp.o -c /extra/home/rmanoj/Software/Libraries/eigen-hg/test/triangular.cpp
/extra/home/rmanoj/Software/Libraries/eigen-hg/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>]’:
/extra/home/rmanoj/Software/Libraries/eigen-hg/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> >]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/test/triangular.cpp:113:   instantiated from ‘void triangular_square(const 
MatrixType&) [with MatrixType = Eigen::Matrix<float, 1, 1, 0, 1, 1>]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/test/triangular.cpp:241:   instantiated from here
/extra/home/rmanoj/Software/Libraries/eigen-hg/Eigen/src/Core/CwiseBinaryOp.h:120: 
error: ‘YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES’ is not a member of ‘Eigen::ei_static_assert<false>’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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>]’:
/extra/home/rmanoj/Software/Libraries/eigen-hg/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> >]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/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]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/test/triangular.cpp:97:   instantiated from ‘void triangular_square(const 
MatrixType&) [with MatrixType = Eigen::Matrix<float, 1, 1, 0, 1, 1>]’
/extra/home/rmanoj/Software/Libraries/eigen-hg/test/triangular.cpp:241:   instantiated from here
/extra/home/rmanoj/Software/Libraries/eigen-hg/Eigen/src/Core/CwiseBinaryOp.h:120: 
error: ‘YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES’ is not a member of ‘Eigen::ei_static_assert<false>’



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