Re: [Metil-lmtpp] vecteurs de matrice
Status: Pre-Alpha
Brought to you by:
hugo_lec
From: Martin G. <mar...@lm...> - 2009-12-16 17:12:25
|
Le problème a été magnifiquement résolu par le magnifique Hugal aujourd'hui: dans matdense.h.py vous trouvez désormais Mat &operator=(int val) { data.set(val); return *this; } Qui permet d'initialiser une matrice avec un entier... On mardi 15 décembre 2009 15:58:09, Martin Genet wrote: > Cher tous, > > En passant les variables internes de mes formulations à des champs de type 'gauss', j'ai rencontré un problème du fait que certaines des mes variables internes sont des matrices, et donc sur l'élément on doit stocker un vecteur matrice (une pour chaque point de Gauss). > > Or les vecteurs ne possédaient qu'un constructeur de type (voir vecfull.h.py): > > > Vec(const TT &v) { for(unsigned i=0;i<(unsigned)static_size;val[i++]=v); } > > qui prend en argument un élément du type des éléments stockés dans le vecteur et le mets partout dans le vecteur. Typiquement, si vous initialisez un vecteur de double avec 3, il mets 3 partout. > > Or on voulait aussi pouvoir initialiser un vecteur de matrices avec un scalaire (d'où le patch d'hier soir), et on a désormais: > > > template<class T2> Vec(const T2 &v) { for(unsigned i=0;i<(unsigned)static_size;val[i++]=v); } > > Mais un problème subsiste, justement si on cherche à initialiser un vecteur de matrices avec un scalaire, car l'opérateur = pour les matrices a été commenté (voir matdense.h.py): > > > //template<class T2> Mat &operator=(const T2 &val) { data.set((T)val); return *this; } > > On pourrait imaginer décommenter la ligne. Typiquement, si vous initialisez une matrice de double avec 3, il mets 3 partout. > > Mais un problème subsiste, si on cherche à initialiser une matrice avec une matrice. J'avais pensé à > > > template<class T2> Mat &operator=(const T2 &val) { data.set((T)val); return *this; } > > template<class T2> Mat &operator=(const Mat<T2> &val) { data = val.data; return *this; } > > Mais val.data n'est pas défini pour toutes les matrices... > > Une idée? > > Merci! > > Martin. > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > Metil-lmtpp mailing list > Met...@li... > https://lists.sourceforge.net/lists/listinfo/metil-lmtpp > |