1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
double zx = xf + xRatio*j;
// 1 addition, 1 multiplication
double zy = yf + yRatio*i;
// 1 addition, 1 multiplication
double cx = zx;
// 0
double cy = zy;
// 0
while(buf[j]<itermax && zx*zx+zy*zy<4)
{
// 1 indirection (pas en release), 2 comparaisons, 2 multiplications, 3 additions
double xnew = zx * zx - zy * zy + cx;
// 2 multiplications, 1 addition A noter qu'en mode release, le compilo ne fait pas les 2 multiplications (déjà effectuées pour le test de la boucle)
zy = (2 * zx * zy )+ cy;
// 2 multiplications, 1 addition
zx = xnew;
// 1 affectation
++(buf[j]);
// 1 incrémentation (à noter qu'en mode release cette opération est fait sur un registre qui est affecté après la boucle)
} |
Partager