Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5
Auteur Sujet :

[C/C++] Affectation ou test ? Quel est le mieux ?

n°414434
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-06-2003 à 14:45:03  profilanswer
 

Reprise du message précédent :
en tout cas, j'ai mis tout le monde d'accord [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 03-06-2003 à 14:45:03  profilanswer
 

n°414435
polo021
Posté le 03-06-2003 à 14:45:17  profilanswer
 

Harkonnen a écrit :

Code :
  1. __asm
  2. {
  3.    xor eax,eax // eax = 0 (équivalent de i)
  4.    mov ebx,6   // ebx = 6
  5. loop
  6.    mov ecx,var[eax] // ecx = var[i] (c'est var et pas tab, sorry)
  7.    inc eax   // i++
  8.    cmp ecx,ebx // var[i] = 6 ?
  9.    je fini   // si oui, alors on termine
  10.    cmp eax,50   // a t'on parcouru tout le tableau ?
  11.    jb loop   // si non, on boucle
  12.    ret   // on arrive ici si on a parcouru tout le tableau sans rien trouvé. donc on termine
  13. fini
  14.    mov toto,6   // toto = 6
  15.    ret   // fin
  16. }




 :jap:  :hello:

n°414438
skeye
Posté le 03-06-2003 à 14:46:40  profilanswer
 

Harkonnen a écrit :

en tout cas, j'ai mis tout le monde d'accord [:ddr555]


bah je trouve qu'on a largement fait le tour de la question, non? :whistle:

n°414440
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-06-2003 à 14:47:56  profilanswer
 

je pense aussi :d
pour un truc aussi simple, 3 pages c'est correct :lol:


---------------
J'ai un string dans l'array (Paris Hilton)
n°414442
LetoII
Le dormeur doit se réveiller
Posté le 03-06-2003 à 14:49:48  profilanswer
 

J'ai pas de compilo sous la main donc il se peux que certain mots clef soit pas tt à fait à leur place :D  

Code :
  1. const int Tableau[] = {/*les valeurs*/};
  2. template<int index,int value> inline void testTableau(int *var)
  3. {
  4.    testTableau<index-1,Tableau[index]>(var);
  5. }
  6. template<int value > void testTableau< 0, value>(int *var)
  7. {
  8. }
  9. template<int index>void  testTableau< index, 6>(int *var)
  10. {
  11.    *var = 6;
  12. }
  13. int main(int, char**)
  14. {
  15.    int toto;
  16.    testTableau<50,0>(&toto); 
  17. }


Message édité par LetoII le 03-06-2003 à 15:25:28

---------------
Le Tyran
n°414444
LetoII
Le dormeur doit se réveiller
Posté le 03-06-2003 à 14:50:31  profilanswer
 

[citation=414434,3][nom]Harkonnen a écrit[/nom]en tout cas, j'ai mis tout le monde d'accord [:ddr555]
[/citation
 
Non, mais j'ai mis un peu de temps à la taper :D


---------------
Le Tyran
n°414446
skeye
Posté le 03-06-2003 à 14:52:07  profilanswer
 

LetoII a écrit :

J'ai pas de compilo sous la main donc il se peux que certain mots clef soit pas tt à fait à leur place :D  

Code :
  1. [du code affreux]




Non mais ca va pas? :pt1cable:

n°414450
LetoII
Le dormeur doit se réveiller
Posté le 03-06-2003 à 14:54:51  profilanswer
 

skeye a écrit :


Non mais ca va pas? :pt1cable:  


 
Bon alors si je me suis pas chier dans la syntax et dès que la gestion de la spécialisation partielle des template sera répendu je pense pas qu'on pourra faire mieux :D (tester ça avec gcc :D )


---------------
Le Tyran
n°414473
chrisbk
-
Posté le 03-06-2003 à 15:09:49  profilanswer
 

Harkonnen a écrit :

Code :
  1. __asm
  2. {
  3.    xor eax,eax
  4.    mov ebx,6
  5. loop
  6.    mov ecx,tab[eax]
  7.    inc eax
  8.    cmp ecx,ebx
  9.    je fini
  10.    cmp eax,50
  11.    jb loop
  12.    ret
  13. fini
  14.    mov toto,6
  15.    ret
  16. }


et je vous merde :fuck:
[:neowen]


 
decu, g t sur que t'allais nous sortir un bout mmx :/
 
et j'aime pas ton ret :O
pkoi tu fais le inc eax avant le premier cmp ?
il est ou le prefetch ?
est tu sur que ca vaut le coup de copier var[i] dans un reg ? ca fait une instr en plus pour un gain nul ?
 


Message édité par chrisbk le 03-06-2003 à 15:12:15
n°414479
barbarella
Posté le 03-06-2003 à 15:13:11  profilanswer
 

Code :
  1. int trouve_six(int *tab,int max)
  2. {
  3.    int i=0;
  4. // on fourni arbitrairement une condition de fin egale a la
  5. // condition recherché ce qui implique
  6. // que le tableau ait une taille de N+1 et qu'on connaisse la  
  7. //taille du tableau au moment ou on lance trouve_six
  8.    *(tab+max) = 6;
  9.    while(*(tab+i) != 6)
  10.    {
  11.     i++;
  12.    }
  13.    if(i < max)
  14.     return(i); // renvoie la position du premier 6
  15.    else
  16.     return(-1); // six non trouvé
  17. }


 
voila une autre variante, l'avantage c'est qu'on ne fait qu'un test par pas de boucle et la fonciton est très simple pour le compilateur qui ne devrait pas avoir trop de prob a optimiser.


Message édité par barbarella le 03-06-2003 à 15:14:11
mood
Publicité
Posté le 03-06-2003 à 15:13:11  profilanswer
 

n°414480
chrisbk
-
Posté le 03-06-2003 à 15:14:01  profilanswer
 

Code :
  1. *(tab+i)


 
 
c moche et ca apporte rien sur la notation tableau :O
 
en plus ca plante si y'a pas de 6 dans le tableau :o
nul, dehors :O


Message édité par chrisbk le 03-06-2003 à 15:14:33
n°414485
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-06-2003 à 15:15:33  profilanswer
 

chrisbk a écrit :


 
decu, g t sur que t'allais nous sortir un bout mmx :/
 
et j'aime pas ton ret :O
pkoi tu fais le inc eax avant le premier cmp ?
il est ou le prefetch ?
est tu sur que ca vaut le coup de copier var[i] dans un reg ? ca fait une instr en plus pour un gain nul ?
 
 


j'ai fait ça à la louche hein :D
version mmx encore plus optimisée launched :d


---------------
J'ai un string dans l'array (Paris Hilton)
n°414486
chrisbk
-
Posté le 03-06-2003 à 15:16:13  profilanswer
 

Harkonnen a écrit :


j'ai fait ça à la louche hein :D
version mmx encore plus optimisée launched :d


 
j'avais envie de faire mon [:aloy] :D

n°414487
skeye
Posté le 03-06-2003 à 15:16:16  profilanswer
 

Harkonnen a écrit :


j'ai fait ça à la louche hein :D
version mmx encore plus optimisée launched :d


C'est l'auteur du topic qui va être content...:lol:

n°414488
barbarella
Posté le 03-06-2003 à 15:16:19  profilanswer
 

chrisbk a écrit :

Code :
  1. *(tab+i)


 
 
c moche et ca apporte rien sur la notation tableau :O


 
t'utilise ce que tu veux comme expression, mais moi j'ai pas d eprob a utiliser un *(tab+i) ou un tab[i]. toutefois en génaral quand je passe en pram un void *coco, ben j'utilise *coco pour me rapeller que c'est un pointeur.

n°414489
barbarella
Posté le 03-06-2003 à 15:16:58  profilanswer
 

chrisbk a écrit :

Code :
  1. *(tab+i)


 
 
c moche et ca apporte rien sur la notation tableau :O
 
en plus ca plante si y'a pas de 6 dans le tableau :o
nul, dehors :O


 
silence va coucher
 
t('aurais pas oublier le  
 
*(tab+max) = 6;


Message édité par barbarella le 03-06-2003 à 15:18:01
n°414491
chrisbk
-
Posté le 03-06-2003 à 15:17:21  profilanswer
 

Barbarella a écrit :


 
t'utilise ce que tu veux comme expression, mais moi j'ai pas d eprob a utiliser un *(tab+i) ou un tab[i]. toutefois en génaral quand je passe en pram un void *coco, ben j'utilise *coco pour me rapeller que c'est un pointeur.


 
ca me travaille pas trop non plus, mais c'est moche quand meme :D
 
j'avais un pote qui pondait que du code comme ca, avec des tab a plusieurs dimensions c t assez imbuvable

n°414493
chrisbk
-
Posté le 03-06-2003 à 15:18:19  profilanswer
 

Code :
  1. *(tab+max) = 6;


 
 
Barbarella, keske c que cette ignoble magouille plantogene [:totoz] [:totoz]

n°414497
barbarella
Posté le 03-06-2003 à 15:19:28  profilanswer
 

chrisbk a écrit :


 
ca me travaille pas trop non plus, mais c'est moche quand meme :D
 
j'avais un pote qui pondait que du code comme ca, avec des tab a plusieurs dimensions c t assez imbuvable


 
mouais, mais on parle d'algo pas d'esthetisme. mon code est le plus rapide.

n°414498
barbarella
Posté le 03-06-2003 à 15:20:00  profilanswer
 

chrisbk a écrit :

Code :
  1. *(tab+max) = 6;


 
 
Barbarella, keske c que cette ignoble magouille plantogene [:totoz] [:totoz]
 


 
c'est dans le commentaire lit le ! ou t's aussi faché avec les // ...

n°414500
chrisbk
-
Posté le 03-06-2003 à 15:20:32  profilanswer
 

Barbarella a écrit :


 
mouais, mais on parle d'algo pas d'esthetisme. mon code est le plus rapide.


 
Non seulement je ne pense pas qu'il soit le plus rapide, mais en plus il plante :O
 
 

n°414503
Tetragramm​aton IHVH
dieu unique =&gt; pensée unique
Posté le 03-06-2003 à 15:21:48  profilanswer
 

Barbarella a écrit :


 
mouais, mais on parle d'algo pas d'esthetisme. mon code est le plus rapide.


 
à faire une GPF, pas de problème, tu bats tout le monde
 
http://movrestar.ovh.org/temp/sadban.jpg


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°414504
barbarella
Posté le 03-06-2003 à 15:21:57  profilanswer
 

chrisbk a écrit :


 
Non seulement je ne pense pas qu'il soit le plus rapide, mais en plus il plante :O
 
 
 


 
ah tu fais chier faut que j'aille au compilo, alors qu'il y a du soleil dehors :D

n°414507
chrisbk
-
Posté le 03-06-2003 à 15:23:42  profilanswer
 

Barbarella a écrit :


 
c'est dans le commentaire lit le ! ou t's aussi faché avec les // ...


 
G bien lu le commentaire, c une ignoble magouille qui va tout foutre en l'air si je n'ai pas eu l'audace de penser que pour chercher 6 dans un tableau de taille N il faut que je fournisse a ta fonction un tableau de taille N+1. c nul :O

n°414508
LetoII
Le dormeur doit se réveiller
Posté le 03-06-2003 à 15:23:52  profilanswer
 

chrisbk a écrit :

Code :
  1. *(tab+i)


 
 
c moche et ca apporte rien sur la notation tableau :O
 
en plus ca plante si y'a pas de 6 dans le tableau :o
nul, dehors :O


 :non: le 6 est rajouté avant la boucle.
 
si non une vrai version avec unrolling template (pour ceux qu'on pas vu la première était plus ou moin équivalente à int toto; *toto = 6;  :whistle: )
 

Code :
  1. template<int index> inline void testTableau(int *tableau,int *var,int value)
  2. {
  3.   if(testTableau[index] != value)
  4.   {
  5.      testTableau<--index>(tableau,var);
  6.   }
  7.   else
  8.   {
  9.     *var = value;
  10.   }
  11. }
  12. void testTableau<0>(int *tableau,int *var,int value)
  13. {
  14. }



---------------
Le Tyran
n°414509
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-06-2003 à 15:24:32  profilanswer
 


 
"je finis"
[:neowen]


Message édité par antp le 03-06-2003 à 15:24:53

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°414512
polo021
Posté le 03-06-2003 à 15:25:25  profilanswer
 

chrisbk a écrit :

Code :
  1. *(tab+max) = 6;


 
 
Barbarella, keske c que cette ignoble magouille plantogene [:totoz] [:totoz]
 


j'utilise des trucs comme ca partout dans mes codes [:urd-sama]
 
 
c'est presque vrai en plus  :sweat:

n°414515
Tetragramm​aton IHVH
dieu unique =&gt; pensée unique
Posté le 03-06-2003 à 15:28:33  profilanswer
 

polo021 a écrit :


j'utilise des trucs comme ca partout dans mes codes [:urd-sama]
 
 
c'est presque vrai en plus  :sweat:  


 
ouais, j'avais déjà remarqué ta manière de coder  [:tetragrammaton ihvh]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°414518
polo021
Posté le 03-06-2003 à 15:29:09  profilanswer
 

Tetragrammaton IHVH a écrit :


 
ouais, j'avais déjà remarqué ta manière de coder  [:tetragrammaton ihvh]  


bah je debute [:spamafote]
 
 
ca signifie quoi ca [:tetragrammaton ihvh] ?

n°414519
barbarella
Posté le 03-06-2003 à 15:29:38  profilanswer
 

polo021 a écrit :


j'utilise des trucs comme ca partout dans mes codes [:urd-sama]
 
 
c'est presque vrai en plus  :sweat:  


 
ben ouais, c'est vrai j'sais pas ce qu'ils ont les coincé du machin là :D.
 
C'est un truc du C. Le C utilise un caractère de terminaison pour les fin de chaine, je ne fais qu'utiliser ce principe appliquer a un tableau de nombre.
 
ps : j'ai vérifié le code ne plante pas

n°414521
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-06-2003 à 15:29:59  profilanswer
 

polo021 a écrit :


ca signifie quoi ca [:tetragrammaton ihvh] ?


 
"c'est moi qui ai le smiley le plus moche du topic" ? [:dawa]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°414525
LetoII
Le dormeur doit se réveiller
Posté le 03-06-2003 à 15:30:33  profilanswer
 

antp a écrit :


 
"c'est moi qui ai le smiley le plus moche du topic" ? [:dawa]


 
Non c moi:  [:letoii]


---------------
Le Tyran
n°414527
chrisbk
-
Posté le 03-06-2003 à 15:30:53  profilanswer
 

Barbarella a écrit :


 
ben ouais, c'est vrai j'sais pas ce qu'ils ont les coincé du machin là :D.
 
C'est un truc du C. Le C utilise un caractère de terminaison pour les fin de chaine, je ne fais qu'utiliser ce principe appliquer a un tableau de nombre.
 
ps : j'ai vérifié le code ne plante pas


 
Tu m'excuseras, mais devoir fournir un tableau de taille N+1 alors que N suffise a une fonction rien que parce qu'elle est codée n'imp, ca me chiffone pas mal :O

n°414534
Tetragramm​aton IHVH
dieu unique =&gt; pensée unique
Posté le 03-06-2003 à 15:32:07  profilanswer
 

antp a écrit :


 
"c'est moi qui ai le smiley le plus moche du topic" ? [:dawa]


 
Dans ton cas, ça signifie plutôt "je suis un boulet, je n'ai même pas reconnu Doh"


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°414546
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-06-2003 à 15:34:30  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Dans ton cas, ça signifie plutôt "je suis un boulet, je n'ai même pas reconnu Doh"


 
:heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°414555
chrisbk
-
Posté le 03-06-2003 à 15:35:56  profilanswer
 

polo021 a écrit :


ca signifie quoi ca [:tetragrammaton ihvh] ?


 
Une espece de piece d'echec qui ouvre la bouche de facon grotesque pour tacher d'imiter un poisson rouge le plus fidelement possible
Maintenant, savoir si ca a une veritable signification....

n°414560
barbarella
Posté le 03-06-2003 à 15:37:03  profilanswer
 

chrisbk a écrit :


 
Tu m'excuseras, mais devoir fournir un tableau de taille N+1 alors que N suffise a une fonction rien que parce qu'elle est codée n'imp, ca me chiffone pas mal :O


 
cette fonction est bien codée, mais on a juste pas la même conception de ce que doit être un prog en C et c'est là une richesse du C. T'as pas une manière de faire.
 

n°414575
Konar
Posté le 03-06-2003 à 15:38:46  profilanswer
 

polo021 a écrit :


ca signifie quoi ca [:tetragrammaton ihvh] ?


 
arkanoid, ou un jeu a la con de 1904 ?

n°414580
chrisbk
-
Posté le 03-06-2003 à 15:39:36  profilanswer
 

Barbarella a écrit :


 
cette fonction est bien codée, mais on a juste pas la même conception de ce que doit être un prog en C et c'est là une richesse du C. T'as pas une manière de faire.
 
 


 
Effectivement on a pas la meme maniere de faire [:ddr555]

n°414581
lorill
Posté le 03-06-2003 à 15:39:54  profilanswer
 

Barbarella a écrit :


C'est un truc du C. Le C utilise un caractère de terminaison pour les fin de chaine, je ne fais qu'utiliser ce principe appliquer a un tableau de nombre.


sauf que la c'est pas une chaine, tu peux pas présumer d'un octet libre :o

n°414583
Tetragramm​aton IHVH
dieu unique =&gt; pensée unique
Posté le 03-06-2003 à 15:40:20  profilanswer
 

Konar a écrit :


 
arkanoid, ou un jeu a la con de 1904 ?


 
ah quand même, y en a un qui connait un peu l'histoire des jeux video


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5

Aller à :
Ajouter une réponse
 

Sujets relatifs
[PHP/HTML] vaut il mieux : bcp de echo "" ou bcp de balises <?php> ?addition affectation...
test connection visiteurTest des variables suite et fin
Affectation d'un tableau de AnsiString dans un autreIl vaut mieux faire des Iframes ou des modeles ?
BETA test REALBasic[C]Operation de test de pixel sur images.
Recup d'evenement clavier et test...[ Besoin du test de mon HTML ] Div avec overflow, quels navigateurs ?
Plus de sujets relatifs à : [C/C++] Affectation ou test ? Quel est le mieux ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR