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

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


Yes, we're aware of the test failures on 1x1 matrices at the moment.
Please allow a few more days and they'll be gone.

Benoit

2010/4/3 Manoj Rajagopalan <rmanoj@xxxxxxxxx>:
> 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/