bedingung vereinfachen bzw. optimieren?
-
Gut hast recht:
if(Y2>data[i].y && Y2<data[i+1].y || Y2>data[i+1].y && data[i].y> Y2 )
-
Was is mit
if(!(Y2<=data[i].y || Y2>=data[i+1].y) )
?
-
if(!(Y2<=data[i].y || Y2>=data[i+1].y) )
Das ist das selbe wie meins: halt nur in Grün.
if(Y2>data[i].y && data[i+1].y> Y2)// Das reicht vollkommen aus
Du hast einfach nur die Morganische Regel Angewandt mehr net:)
Weil bei: Y=7
data[i].y=0
data[i+1].y=10
ist ja noch alles in Butter:)
Aber sobald data[i] und data[i+1] vertauscht werden stimmt deine funktion auch schon wieder net:)
-
if (Y2>MIN(data[i].y,data[i+1].y) && Y2<MAX(data[i].y,data[i+1].y))...
Ob das jetzt so viel eleganter ist, ist wohl Geschmackssache...
-
bool bo= (data[i].y < Y2) ? (data[i+1].y > Y2) : (data[i+1].y < Y2);
^^
wer bekommt es noch perfomanter hin??????
-
BorisDieKlinge schrieb:
bool bo= (data[i].y < Y2) ? (data[i+1].y > Y2) : (data[i+1].y < Y2);
wer bekommt es noch perfomanter hin??????
ohne branches usw ist meistens performanter^^
x = data[i].y < Y2 && Y2 < data[i+1].y;
oder
x = data[i].y <= Y2 && Y2 <= data[i+1].y;
wenn die grenzen selber auch gültig sind
-
fricky schrieb:
BorisDieKlinge schrieb:
bool bo= (data[i].y < Y2) ? (data[i+1].y > Y2) : (data[i+1].y < Y2);
wer bekommt es noch perfomanter hin??????
ohne branches usw ist meistens performanter^^
x = data[i].y < Y2 && Y2 < data[i+1].y;
oder
x = data[i].y <= Y2 && Y2 <= data[i+1].y;
wenn die grenzen selber auch gültig sind
Und was ist x? Und wird man damit machen?
-
Tachyon schrieb:
Und was ist x? Und wird man damit machen?
x ist 0 oder 1 bzw. 'false' oder 'true'.
ohne das 'x' kannste den ausdruck für eine if-anweisung nehmen.
-
x = data[i].y < Y2 && Y2 < data[i+1].y;
HALLLOOOOOOOOO
der Autor will prüfen ob Y2 zwiscehn den beiden werten liegt:
Y2= 7; data[i].y=5; data[i+1].y=10; data[i].y=10; data[i+1].y=5;
fricky dein geht nur wenn data[i].y < data[i+1].y nicht anderherum...
-
BorisDieKlinge schrieb:
fricky dein geht nur wenn data[i].y < data[i+1].y nicht anderherum...
ach mist, dann hab ich gepennt.
-
kannst geben.. das heist meine variante macht immer nur 2 vergleiche, wobei die andere variante je nach fall 4 braucht;)