30

et g pas bien suivit avec les posts croisés ... c rapide ou pas ?
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

31

oui
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

32

TiMad a écrit :
a note que niveau optimisation, il vaut mieux faire:
if (x<0)
{
if (x>-16)
{
} }


c'est mieux ?
Pourquoi ?
Il me semble qu'en C, la 2ème condition d'un && n'est testée que si la première est vraie, donc ça revient au même non ?

33

pkoi t'utilise des écrans virtuels plus grands ds x_lib alors ? confus

et heu, t sur que c <<(-x) et non pas >>(-x) ?
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

34

TiMad a écrit :
if (x<0 && x>-16) // condition de clipping gauche...
{
unsigned long *Xplan = LCDMEM + y<<5-y-y; //: position sur l'écran.. une erreur de corrigée.
(*Xplan)|=(*sprite++)<<(-x); // il y avait une petite erreur....
(*Xplan+30)|=(*sprite++)<<(-x); // on decale le sprite de 1 vers la gauche si on a x=-1...
(*Xplan+60)|=(*sprite++)<<(-x); // 30= largeur du Xplan...
(*Xplan+90)|=(*sprite++)<<(-x);
...
}


hum, t'es sûr que c'est pas plutôt
(*(Xplan+30))|=....;
(*(Xplan+60))|=....;
confus

35

Si.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

36

si ! wink

là ça confont adresse et valeur ... wink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

37

erf moi je suis newb en csmile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

38

if (x<0)
{
if (x>-16)
{
}
// la tu fous ta commande pour quitter ta fonction de sprite..
je sais pas ce que c'est en c...
}
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

39

tu peux répondre TiMad stp smile
Vark a écrit :
pkoi t'utilise des écrans virtuels plus grands ds x_lib si cette méhode est plus rapide ? confus
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

40

tu parles p-e de return.
Et peux-tu répondre au post #31 ?

41

pour les << vous pouvez allez voir le tuto que j'ai fais sur tifr...
ici on est dans le cas clipping gauche...

Sinon dans la futur version de X, j'utilise un autre format que le Gplan..
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

42

dc tu utilise ctte méthode ???
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

43

ouai.. a qqs petites astuces pres..
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

44

disponibles seulement en asm je suppose ? grin

qd jaurais fait qqch d'à peu près fonctionnel, je pourrais te montrer ma fonction et toi me dire comment l'optimiser un peu ?
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

45

si tu veux..
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

46

Mais euh... sad personne n'a répondu à mon post #31.... mourn

47

parce que:
imagine tu appelles la fonction de sprite pour une abscisse de -324342.

il faut quitter la fonction sans rien faire, c'ad si la condition x<-16 est vérifiée .. or on va pas tester cette condition 2 fois... donc on fait ce que j'ai ditsmile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

48

TiMad : entre if (x<0 && x>-16) et if (x<0) { if (x>-16) il n'y a pas de différence de code généré. C'est entre if (x<0 & x>-16) et (x<0 && x>-16) qu'il y en aurait une.

Pour les tests le C propose les opérateurs || et && pour optimiser des choses telles que if (x<0 && x>-16) en if (x<0) { if (x>-16), pas pour faire joli triso sinon on serait resté à & et | et là les programmeurs auraient eu eux-même à écrire if (x<0) { if (x>-16) zzz
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

49

pt1 mais si il y a une différence!!!!

si tu fais:

if (x<0)
{
if (x>-16 && y>0) ...
if (x>-16 && y<0)
{
if (y>16)...
else return;
}


}

Si vous voyez pas la diff c'est pas de ma faute...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

50

Tu n'avais pas précisé dans le post #28 que tu testais plusieurs fois hum
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

51

ca semble logique pour une routine de sprite avec clipping...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

52

De toute façons j'ai des doutes quant à savoir si tu vois bien l'utilité des opérateurs booléens de conditions par rapport aus opérateurs logiques, cf le topic dans le forum "Questions" tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

53

Pour tes question de doute.. tu peux te dire que c'est juste une erreur de lecture et ca change rien ce topic...
En sup on fait de la logique.. alors bon je peux te dire que je me debrouille pas trop mal dedans...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

54

oué j'ai vu. Sois plus attentif la prochaine fois tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

55

ArF
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

56

Thibaut a écrit :
TiMad : entre if (x<0 && x>-16) et if (x<0) { if (x>-16) il n'y a pas de différence de code généré. C'est entre if (x<0 & x>-16) et (x<0 && x>-16) qu'il y en aurait une.

Pour les tests le C propose les opérateurs || et && pour optimiser des choses telles que if (x<0 && x>-16) en if (x<0) { if (x>-16), pas pour faire joli triso sinon on serait resté à & et | et là les programmeurs auraient eu eux-même à écrire if (x<0) { if (x>-16) zzz

Tu confonds avec le Java là! En C, & et | sont des opérateurs logiques bit par bit, à ne pas utiliser dans une expression de logique booléenne!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

57

N'importe quoi triso Sert-toi un peu de ton cerveau si développé tongue Et si tu as du mal à réfléchir, fait des tests MÔssieur Kevin tu verras que ça marche pareil. C'est d'ailleurs comme ça qu'évaluent les mauvais compilateurs Pascal, car en Pascal il n'y a de disponible uniquement les opérateurs logiques "bit par bit".
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

58

Au lieu de me prendre pour un c*n, va lire un manuel de C.
Il n'y a que 2 types d'opérations logiques en C:
- booléennes avec évaluation paresseuse: && || ^^
- bit par bit sans évaluation paresseuse: & | ^
Il n'y a pas d'opérateurs booléens sans évaluation paresseuse (sauf ^^ parce qu'on ne peut pas évaluer XOR en paresseux)!

Mais puisque tu es plus intelligent que le reste du monde, dis-moi ce que fait:
if(x&&1)
et:
if(x&1)
et dis-moi si c'est équivalent...
Si ce n'était qu'une question d'évaluation paresseuse, ça le serait (vu que 1 n'a pas d'effets collatéraux). Mais ce n'est pas le cas!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

59

Mais non c'est toi qui est plus intellignet que le reste du monde, tu le sais tongue

Je n'ai jamais entendu parler des évaluations paresseuses. Donc si je comprend bien, pour que les opérateurs | et & soient équivalents aux AND et OR du Pascal, il faut les utiliser en testant la non-nullité de chaque opérande (par exemple : !!condition1 & !!condition2 | !!condition3) ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

60

Oui, c'est une solution. En ce qui concerne !!, c'est souvent utilisé de cette manière. Mais j'ai lu quelque part qu'il y a des compilateurs qui "optimisent" !! en le virant - je ne sais pas si c'est vrai, et si c'est vrai, je pense que ces compilateurs sont bogués (parce que tu n'es pas le seul à utiliser !! comme ça). Ce qui marche à coup sûr est: (condition1?1:0) & (condition2?1:0) | (condition3?1:0). Mais c'est long.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité