Optimisation C / Casse tête
Bonjour,
J'ai un petit casse tête pour vous car je n'arrive pas à trouver de solution adéquate.
Voici donc un bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
unsigned long int Score, Ri, ScoreMax=0L, RMax=0L;
for(Ri=0L; Ri < 0x7FFFFFL; Ri++)
{
// Calculs divers définissant Score
if(Score > ScoreMax)
{
RMax = Ri;
ScoreMax = Score;
}
} |
Mon "problème" consiste donc à optimiser ce bout de code anodin mais qui prend du temps processeur plus qu'il n'en faudrait à mon avis (a cause du if). Votre mission, si vous l'acceptez : virer le IF :o)
Vous pouvez changer les structures de données, toute ce que vous voulez, il faut néanmoins concerver leur type !
NB : j'ai essayé la notation ternaire (pour gagner quelques octets sur la taille du programme) du if ( ?: ) mais ça coince car j'ai deux instructions dans mon if d'après ce que j'ai compris !
D'avance merci,
n0mad