turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 2012
-
21 juil. 2008 à 01:09
Menuki
Messages postés13Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention11 août 2008
-
11 août 2008 à 12:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 21 juil. 2008 à 01:09
Une classe matrice efficace sans un seul paramètre ni une seule méthode const !!! Des doubles boucles pour tout les opérateurs, dans lesquels on ne retrouve pourtant ni '+' , '-' ou '/'. Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double. De plus matrices limitées a 2 dimensions. Enfin coté pratique un petit operator() aurait ete le bien venu !
NairodDorian
Messages postés130Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention18 août 2008 21 juil. 2008 à 09:31
"Une classe matrice efficace sans un seul paramètre ni une seule méthode const"
Il y a des paramètres à passer à mes méthodes...
Elle est pas marqué "retour fonction(...) const" oh mon dieu c'est la catastrophe ! Sache que ça ne change pas grand chose.
"Des doubles boucles pour tout les opérateurs" Faux.
"On ne retrouve pourtant ni '+' , '-' ou '/'". La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel.
"Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol.
"De plus matrices limitées a 2 dimensions" Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions.
"Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a [].
Bref du grand nawak.
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 21 juil. 2008 à 09:53
"Il y a des paramètres à passer à mes méthodes... "
????
ce que je veux dire c que par exemple
const double Matrix::_getvalue(const int & line, const int & column) const {
return m_mat[line * m_n + column];
}
D'ailleurs que se passe-t-il a ton avis si je fais un _getvalue(-1,-1) ou meme avec une valeur or limite ?
"La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel. "
A moins que j'ai raté qqchose les operateurs que j'ai cité ne sont pas présent soit il y'a += mais ce n'est pas la meme chose : a=b+c est impossible. A moins que j'ai loupé aussi qqchose tu peux tres bien divisé une matrice par un réél ou par une autre matrice.
""Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol. "
Ben oui justement voir meme de bool. Pourquoi alors reserver et faire des calculs en double avec seulement des 0 et des 1 ?
"Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions. "
Si tu veux stocker une image RGB par exemple tu seras content d'avoir 3 dimensions.
""Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a []. "
waouhh si tu a une matrice A et que tu veuille acceder à l'element (2,3) c'est quand meme vachement plus intuitif de faire A(2,3) que A[3*A._line()+2] ou encore A._getvalue(2,3)
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 21 juil. 2008 à 09:56
Au fait ou sont les operateurs de copie et l'operator= ?
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201624 22 juil. 2008 à 22:33
21 juil. 2008 à 01:09
21 juil. 2008 à 09:31
Il y a des paramètres à passer à mes méthodes...
Elle est pas marqué "retour fonction(...) const" oh mon dieu c'est la catastrophe ! Sache que ça ne change pas grand chose.
"Des doubles boucles pour tout les opérateurs" Faux.
"On ne retrouve pourtant ni '+' , '-' ou '/'". La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel.
"Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol.
"De plus matrices limitées a 2 dimensions" Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions.
"Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a [].
Bref du grand nawak.
21 juil. 2008 à 09:53
????
ce que je veux dire c que par exemple
double Matrix::_getvalue(int line, int column) {
return m_mat[line * m_n + column];
}
devrait etre :
const double Matrix::_getvalue(const int & line, const int & column) const {
return m_mat[line * m_n + column];
}
D'ailleurs que se passe-t-il a ton avis si je fais un _getvalue(-1,-1) ou meme avec une valeur or limite ?
"La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel. "
A moins que j'ai raté qqchose les operateurs que j'ai cité ne sont pas présent soit il y'a += mais ce n'est pas la meme chose : a=b+c est impossible. A moins que j'ai loupé aussi qqchose tu peux tres bien divisé une matrice par un réél ou par une autre matrice.
""Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol. "
Ben oui justement voir meme de bool. Pourquoi alors reserver et faire des calculs en double avec seulement des 0 et des 1 ?
"Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions. "
Si tu veux stocker une image RGB par exemple tu seras content d'avoir 3 dimensions.
""Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a []. "
waouhh si tu a une matrice A et que tu veuille acceder à l'element (2,3) c'est quand meme vachement plus intuitif de faire A(2,3) que A[3*A._line()+2] ou encore A._getvalue(2,3)
21 juil. 2008 à 09:56
22 juil. 2008 à 22:33