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

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


Hi Manoj,
thank you for the bug report.
This problem was already signaled several time, and Benoît is working, on it.
Please do not pay attention to any problem with the 1x1 case in the
devel branch.

- cheers,

Manuel

On Sat, Apr 3, 2010 at 5:39 PM, Manoj Rajagopalan <rmanoj@xxxxxxxxx> wrote:
> 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/