Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 18 août 2005 - 00 h 00 m 00 s |
|
|
Bonjour !
Bon, comme ça ne concerne pas vraiment la synthèse ni le DSP, je crée un topic à part, mais c'est pour ma lib (http://forums.france-hardware.com/disc/programmation/sujet-68430.html).
Résolu, voir plus bas
J'aimerais gérer plusieurs types de buffers, c'est-à-dire pouvoir appliquer mes algorithmes à des buffers contenant tant des float que des unsigned long ou des signed char.
Pour l'instant, je ne me suis pas posé de question (enfin si mais bon) et j'utilise un float *. Devrais-je passer à un void *, ajouter un champ "type" à ma classe de buffer et faire un switch dans chaque fonction utilisant un buffer (à peu près tout la lib), ou bien créer un template de buffer et réécrire mes fonctions pour chaque type (étant donné que je ne traite pas un float comme un int, un int signé différement d'un int signé et que les limites pour un char ne sont pas les même que pour un long long) ?
Nouveau sujet
Bon, alors nouvelle question : pensez-vous qu'il soit possible de spécialiser un template... de manière générique ?
J'aimerais pondre le même code pour tous les entiers signés, un autre code pour tous les entiers non-signés, et un troisième pour les flottants... Ça vous semble possible ?
|
|
| |
Message édité 1 fois, la dernière par Petit_PimoOosE le 23 août 2005 - 05 h 58. |
| |
Huile de fraise.
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 18 août 2005 - 11 h 01 m 53 s |
|
|
Alors, dans une solution tu dis qu'à chaque fois c'est le logiciel qui doit parcourir le liste des switch ... case pour arriver au bon; dans l'autre tu supposes que c'est le compilateur qui sera capable de faire le bon appel à la bonne fonction.
Si tu fais confiance à ton compilateur, tu peux choisir la deuxième méthode (donc une même nom de fonction défini avec plusieurs types possibles -overload ça s'apelle je crois).
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 18 août 2005 - 19 h 25 m 50 s |
|
|
En fait, si j'utilisais les templates, je ferais moi-même les spécialisations quand même, parce que le compilateur ne peut pas deviner ce qu'il faut faire si je lui file des float ou des entiers et si ces derniers sont signés ou non.
En fait, de toute façon, je vais devoir dupliquer le code pour chaque type accepté. Ce que je me demande, en fait, c'est si cette duplication sera faite dans la fonction ou si je multiplie les fonctions...
Ce qui m'emm** avec les templates, c'est qu'il va falloir que je fasse des templates pour chacunes des classes de ma bibliothèque.
Ce qui me saoûle avec le void *, c'est que je trouve ça sale.
Je pense que je vais opter pour les templates
|
|
| |
Huile de fraise.
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 19 août 2005 - 08 h 15 m 26 s |
|
|
Le 18 août 2005 - 19 h 25, Petit_PimoOosE a écrit :
En fait, de toute façon, je vais devoir dupliquer le code pour chaque type accepté. Ce que je me demande, en fait, c'est si cette duplication sera faite dans la fonction ou si je multiplie les fonctions... |
En effet... Tu peux multiplier les fonctions ou faire un switch, le switch sera moins lourd en mémoire et plus lourd en processeur; la duplication des fonctions sera plus lourd en mémoire et moins lourd en processeur (par contre peut bugger si le compilateur est plutôt un " c*npilateur")
Le 18 août 2005 - 19 h 25, Petit_PimoOosE a écrit :
Ce qui m'emm** avec les templates, c'est qu'il va falloir que je fasse des templates pour chacunes des classes de ma bibliothèque.
|
Oui, c'est ce que je disais pour la partie "possible que ça utilise plus de mémoire"
Le 18 août 2005 - 19 h 25, Petit_PimoOosE a écrit :
Ce qui me saoûle avec le void *, c'est que je trouve ça sale.
|
Mon style, quoi
Le 18 août 2005 - 19 h 25, Petit_PimoOosE a écrit :
Je pense que je vais opter pour les templates 
|
 Très bon choix (dans tous les cas vaut mieux faire ce que l'on sait mieux faire) ... Bonne chance
|
|
| |
Message édité 1 fois, la dernière par alitokmen le 19 août 2005 - 08 h 18. |
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 20 août 2005 - 00 h 27 m 39 s |
|
|
Merci 
plus qu'a trouver le courage...
|
|
| |
Huile de fraise.
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 23 août 2005 - 05 h 58 m 40 s |
|
|
Nouveau sujet
Bon, alors nouvelle question : pensez-vous qu'il soit possible de spécialiser un template... de manière générique ?
J'aimerais pondre le même code pour tous les entiers signés, un autre code pour tous les entiers non-signés, et un troisième pour les flottants... Ça vous semble possible ?
|
|
| |
Huile de fraise.
|
knightmare
Modérateur
avec consommation
Messages : 4 898 Inscrit le 12/06/05
Ville : Lyon (Collonges)
Non connecté
|
|
Posté le 23 août 2005 - 14 h 54 m 17 s |
|
|
Ah et puis il faudrait aussi un programme qui puisse écrire des programmes tout seul, parce que j'ai pas envie de m'embêter à taper du code.
|
|
| |
Profitez de la vie et soyez heureux. C'est le plus important.
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 23 août 2005 - 16 h 50 m 20 s |
|
|
ça existe
il doit bien y avoir un projet perdu sur sf.net ou freshmeat qui pond du code à partir de formules mathématiques...
|
|
| |
Huile de fraise.
|