un problème dont on n'est pas sûr qu'il en soit un
J'ai effectivement assez peu motivé mon cas d'usage. Si tu as une structure de tableau qui a comme variable membre un tableau qui contient à chaque indice le nombre d'éléments dans cette dimension, par exemple :
Si l'utilisateur sait que la dernière dimension vaut toujours 3, par exemple parce que c'est une matrice de pixels, cette représentation va être pénalisante quand on voudra par courir la dernière dimension, car le compilateur n'a pas moyen d'éviter l'itération. En résultent des temps d'exécution déplorables.
for(long i = 0, n = a.shape[2]; i < n; ++i)
a.data[index(i)];
Si on encode dans le type de shape l'information comme quoi la dernière dimension est constante (et petite), et que cette constante est connue, on arrive à
[^] # Re: Le C++ est terrible... et ce journal l'illustre bien
Posté par serge_sans_paille (site web personnel) . En réponse au journal Une structure partiellement constante en C++. Évalué à 10.
J'ai effectivement assez peu motivé mon cas d'usage. Si tu as une structure de tableau qui a comme variable membre un tableau qui contient à chaque indice le nombre d'éléments dans cette dimension, par exemple :
Si l'utilisateur sait que la dernière dimension vaut toujours 3, par exemple parce que c'est une matrice de pixels, cette représentation va être pénalisante quand on voudra par courir la dernière dimension, car le compilateur n'a pas moyen d'éviter l'itération. En résultent des temps d'exécution déplorables.
Si on encode dans le type de
shapel'information comme quoi la dernière dimension est constante (et petite), et que cette constante est connue, on arrive àet le compilo aura toutes les informations pour dérouler complètement l'itération.
J'espère que maintenant qu'elle est motivée, son intérêt transparait mieux :-)
Le demi-sec, c'est moyen, j'ai une nette préférence pour le brut bien râpeu, mais bon, les goûts et les couleurs...