RE: ITL 4.0.0-1 with MTL 2.1.2-21
"Bryan Leppard" <[email protected]>
| Newsgroups | gmane.comp.lib.mtl.devel |
|---|---|
| Message-ID | <[email protected]> |
Thanks for your quick reply. I tried the function you provided but it appears that a bunch more fixing would be required to get it working. Since I am out of my depth with this code, I have fixed it by going back to code that used to compile. I kept the new version of mtl_amend.h that fixes the linalg_traits of std::vector. I reverted back to revision 1.3 of mtl_classical_gram_schmidt.h and then put in an #include for mtl_amend.h This seems to compile OK. Do you know if there were any important revisions to mtl_classical_gram_schmidt.h between version 1.3 and 1.8 before the itl_to_BLAS mixup? I would like to include them in my current code. Regards, Bryan Leppard Neotechnology Consultants Ltd. -----Original Message----- From: Lie-Quan Lee [mailto:[email protected]] Sent: June 13, 2003 12:12 PM To: General Matrix Template Library (MTL) list Subject: Re: MTL: ITL 4.0.0-1 with MTL 2.1.2-21 You are right -- Somehow the change made in the classical gram schmidt class was accidentally mixed with function get_data() required in itl_to_BLAS interface. Well, one quick way to fix is have following function: template <class Vector, class VecRef, class Indexer> typename Vector::value_type* get_data(const mtl::oned_part<Vector,VecRef,Indexer>& v) { typedef mtl::oned_part<Vector,VecRef,Indexer> V; V& vref = const_cast<V& >(v); return &(vref.get_ref(0)); } On Fri, 2003-06-13 at 10:28, Bryan Leppard wrote: > I am trying to use ITL 4.0.0-1 with MTL 2.1.2-21. It looks like > changes made in ´itl\interface\detail\mtl_classical_gram_schmidt.h¡ > are not compiling. > > > > ========================================================= > > .\My Documents\Visual Studio > Projects\ITL-4.0.0-1\itl\interface\detail\mtl_classical_gram_schmidt.h(146) : error C2039: 'data' : is not a member of 'mtl::oned_part<Vector,VecRef,Indexer>' > > with > > [ > > > Vector=mtl::matrix_implementation<mtl::generate_rect<itl::classical_gram_sch midt<DENSE_VECTOR>::value_type,mtl::column_major,mtl::dense<>,0,0>::storage_ t,mtl::gen_rect_indexer<mtl::column_orien,0,0,mtl::generate_rect<itl::classi cal_gram_schmidt<DENSE_VECTOR>::value_type,mtl::column_major,mtl::dense<>,0, 0>::size_type>>::OldOneD, > > > VecRef=mtl::matrix_implementation<mtl::generate_rect<itl::classical_gram_sch midt<DENSE_VECTOR>::value_type,mtl::column_major,mtl::dense<>,0,0>::storage_ t,mtl::gen_rect_indexer<mtl::column_orien,0,0,mtl::generate_rect<itl::classi cal_gram_schmidt<DENSE_VECTOR>::value_type,mtl::column_major,mtl::dense<>,0, 0>::size_type>>::OldOneD, > > > Indexer=mtl::rect_indexer<mtl::generate_rect<itl::classical_gram_schmidt<DEN SE_VECTOR>::value_type,mtl::column_major,mtl::dense<>,0,0>::size_type,mtl::c olumn_orien,0,0>::OneDIndexer > > ] > > =================================================================== > > > > To me, it looks like line 146 is using function get_data() to try and > get a pointer to the internal data of an mtl::one_part<> object. This > doesnÿt compile because mtl::one_part<> does not have a data() member > function. In this case, is doesnÿt seem appropriate for the function > to try and access the internal data. Can you confirm this? > > > > I am not quite sure how to fix this problem. Any suggestions? > > > > Regards, > > > > Bryan Leppard > > Neotechnology Consultants Ltd. > > > > > > ______________________________________________________________________ > _______________________________________________ > This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/ -- Lie-Quan Lee (AKA: Rich Lee) Tel: 650-926-5356 Advanced Computations Department Fax: 650-926-4603 Stanford Linear Accelerator Center Email: [email protected] _______________________________________________ This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/