Optimierung: Zahl im bestimmten Berecih

29/03/2010 - 09:40 von Curtis Newton | Report spam
Hallo,

ich will sicherstellen, dass eine Differenz in einem bestimmten Bereich
liegt:

short * pLine=pData + j*sizex;

for(i = 1; i < sizex; i++)
{
if(abs(pLine[i] - pLine[i - 1]) > faktor2)
{
while(pLine[i] - pLine[i-1] > faktor2)
pLine[i] -= faktor;
while(pLine[i] - pLine[i-1] < -faktor2)
pLine[i] += faktor;
}
}

Kann man das noch optimieren? Wie?

C.

Bye
 

Lesen sie die antworten

#1 Thomas Koller
29/03/2010 - 09:58 | Warnen spam
Curtis Newton wrote:
Hallo,

ich will sicherstellen, dass eine Differenz in einem bestimmten Bereich
liegt:

short * pLine=pData + j*sizex;

for(i = 1; i < sizex; i++)
{
if(abs(pLine[i] - pLine[i - 1]) > faktor2)
{
while(pLine[i] - pLine[i-1] > faktor2)
pLine[i] -= faktor;
while(pLine[i] - pLine[i-1] < -faktor2)
pLine[i] += faktor;
}
}

Kann man das noch optimieren? Wie?



Um ehrlich zu sein, mir ist nicht klar was du mit dem Code
oben bezwecken willst, vielleicht würde das ja mit dem Zusammenhang
in dem er steht verstàndlicher. So ergibt es für mich keinen Sinn.

Aber um auf deine Frage zurückzukommen, kann es sein dass du einfach
den Modulooperator suchst?

i = j % faktor;

Aufpassen musst eventuell bei negativen Zahlen.

Tom

Ähnliche fragen