Si, mais TIGCC devrait l'optimiser si j est un unsigned.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
hmmm ça a l'air de prendre moins de place ainsi en tout cas, je vais voir ça ... j'ai un peu du mal à optimiser en C :/ (contrairement à l'asm j'ai pas trop l'impression de savoir réellement ce que je fais puisque le compilo prend la main ...)

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Ça prend moins de place avec &1 ou avec %2 ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Et c'est quoi la fonction MODulo ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
a modulo b est le reste de la division euclidienne de a par b

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
autrement di c'est une congruence.
Non, mais je sais ce qu'est un modulo, mais je demandais à Orion ce qu'était pour lui la fonction MODulo (au niveau du code).
Enfin, ce n'est pas important.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
le modulo en C fait appel a division/multiplication et le compilo optimise rarement un %

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
BiHi Le 31/08/2003 à 20:21 Bah la 'fonction modulo' c'est juste une division (les instructions divu et divs) donc Orion_ a raison de dire que le modulo n'est pas très rapide.
godzil> Apparement si, gcc optimise les modulo pour les puissances de 2 avec des nombres non-signés.

;)
Évidemment qu'il optimise quand c'est possible. GCC n'est pas con à ce point!
Sauf que c'est rarement possible, sauf si c'est unsigned. Le plus prudent est de mettre un &1, ça va aussi vite à écrire et on est sûr du résultat.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Je ne suis pas d'accord sur ce point. Un compilo peut générer souvent du code bien plus efficace avec des signed qu'avec des unsigned (exemple : un cast vers le type long ou unsigned long prend 12 cycles et 6 octets avec des unsigned short et 4 cycles et 2 octets avec des (signed) short). En plus le type le plus couramment utilisé est int, pas unsigned int.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
On peut faire en moins de 6 octets:
moveq.l #0,%d1;move.w %d0,%d1 -> 4 octets
Ce n'est pas toujours possible, et ça reste de toutes façons moins efficace.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Pourquoi ce n'est pas toujours possible ? Au cas où on aurait quelque chose dans la partie haute de d0 ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Exemple, fonction1((long)fonction2()). Le compilo est obligé de manger 6 octets si fonction2() renvoie un unsigned short, alors que ça ne prend que 2 octets si fonction2() renvoie un signed short.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
ça peut pas se faire simplement avec un ext.l ?
EDIT: a non, oubliez ce que j'ai dit
Pollux> Pourquoi ? Parce que fonction1 prend son argument dans d0 et que la valeur de retour de fonction2 se met dans d0 ? Donc on serait obligés de faire :
moveq.l #0,d1
move.w d0,d1
move.l d1,d0
C'est ça ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Ah ok, j'avais pas saisi le fait que si une case est entourée, elle est capturée.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Regarde les derniers coups du screen du post #0, en capturant une ou deux cases ça en entoure plein (et me mène à la victoire ^^).
D'ailleurs c'est comme ça qu'on bat le plus facilement l'IA qui ne voit pas plusieurs coups à l'avance, et donc ne va pas forcément vers des choix optimaux à long terme.

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Tu as fait un icone pour ID ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »