[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] TooN bug? (affects libCVD)
From: |
Edward Rosten |
Subject: |
[libcvd-members] TooN bug? (affects libCVD) |
Date: |
Thu, 24 Jul 2008 10:53:02 -0600 (MDT) |
This program fails to compile on gcc 4.2.3:
#include <TooN/TooN.h>
using namespace TooN;
int main()
{
Matrix<> m1(10,10);
Matrix<3,3> m2;
m1.slice(0,0,3,3) += m2;
}
Anyone got any ideas why? It works on many previous versions. I've been
digging through the TooN code and it seems OK.
For what it's worth, the error is:
ttest.cc: In function 'int main()':
ttest.cc:18: error: no match for 'operator+=' in 'm1.TooN::Matrix<-0x00000000000000001, -0x00000000000000001,
TooN::RowMajor>::<anonymous>.TooN::DynamicMatrix<TooN::DynamicMAccessor<TooN::RowMajor>
>::<anonymous>.TooN::MatrixBase<TooN::DynamicMAccessor<TooN::RowMajor>
>::<anonymous>.TooN::DynamicMAccessor<TooN::RowMajor>::slice(0, 0, 3, 3) += m2'
/usr/local/include/TooN/linoperators.hh:842: note: candidates are: TooN::DynamicMatrix<LHAccessor>&
TooN::operator+=(TooN::DynamicMatrix<LHAccessor>&, const TooN::FixedMatrix<Rows, Cols, RHAccessor>&) [with
int Rows = 3, int Cols = 3, MAccessor1 = TooN::RefSkipMAccessor<TooN::RowMajor>, MAccessor2 = TooN::FixedMAccessor<3,
3, TooN::RowMajor, TooN::Stack<9> >]
The return type of .slice() is RefSkipMatrixRM, which is a
DynamicMatrix<RefSkipMAccessor<RowMajor> > . I can't see how line 842
isn't enough of a match. Any ideas?
This stops libCVD from compiling, since "calibrate.cxx" requires this
feature.
-Ed
- [libcvd-members] TooN bug? (affects libCVD),
Edward Rosten <=