Symmetric Matrix Resize
"Peter J. Stieber" <[email protected]> Mon, 29 Oct 2007 14:26:08 -0700
| Newsgroups | gmane.comp.lib.mtl.devel |
|---|---|
| Message-ID | <[email protected]> |
MTL version: mtl-2.1.2-23.tenative
Compiler: g++ (GCC) 4.1.2 20070925 (Red Hat 4.1.2-27)
Platform: Fedora 7 x86_64
I'm trying to resize a symmetric matrix using a simple test jig called =
SymmetricPackedResize.cpp ...
#include <mtl/mtl.h>
int main()
{
typedef mtl::matrix<
double,
mtl::symmetric<mtl::lower>,
mtl::packed<> >::type TDSymmetricMatrix;
TDSymmetricMatrix Symmetric(6, 6);
Symmetric.resize(16, 16);
return 0;
}
I'm compiling with
g++ -IPathToMtlHeaders SymmetricPackedResize.cpp
The first set of errors I receive follow. I've tried to separate them =
onto different lines for readability:
mtl-2.1.2-23/mtl/dense2D.h: In member function =91void mtl::dense2D<T, =
OffsetGen, MM, NN>::resize(typename mtl::generic_dense2D<std::vector<T, =
std::allocator<_CharT> >, mtl::refcnt_ptr<std::vector<T, =
std::allocator<_CharT> > >, OffsetGen, MM, NN>::size_type, typename =
mtl::generic_dense2D<std::vector<T, std::allocator<_CharT> >, =
mtl::refcnt_ptr<std::vector<T, std::allocator<_CharT> > >, OffsetGen, =
MM, NN>::size_type) [with T =3D double, OffsetGen =3D =
mtl::gen_packed_offset<0, 0>, int MM =3D 0, int NN =3D 0]=92:
mtl-2.1.2-23/mtl/matrix_implementation.h:616: instantiated from =91void =
mtl::row_matrix<TwoDGen, IndexerGen>::resize(typename =
mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename =
mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type) [with =
TwoDGen =3D mtl::gen_dense2D<double, mtl::gen_packed_offset<0, 0>, 0, 0>, =
IndexerGen =3D mtl::gen_banded_indexer<mtl::row_orien, 0, 0, long unsigned =
int>]=92
SymmetricPackedResize.cpp:12: instantiated from here
mtl-2.1.2-23/mtl/dense2D.h:548: error: =91mtl::dimension<long unsigned =
int, 0, 0> mtl::packed_offset<long unsigned int, 0, 0>::dim=92 is private
mtl-2.1.2-23/mtl/dense2D.h:1235: error: within this context
mtl-2.1.2-23/mtl/dense2D.h:1236: error: =91class mtl::packed_offset<long =
unsigned int, 0, 0>=92 has no member named =91ld=92
So the packed_offset class has the dim data member declared private. =
Looking at the rect_offset class for which resize actually works, there =
is a suspicious commenting out for the private: scope qualifier ahead of =
the data members.
I could do the same in packed_offset, but this would still leave me with =
the "packed_offset<...> has no member named ld. It looks like resize =
will only work for rect_offset storage.
Does anyone see a workaround for this?
Peter, does version 4 deal with this?
How do I become an alpha tester of version 4?
Pete
_______________________________________________
This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/