A. S. schrieb:
> aber
> eine gute Lösung wird kaum kleiner oder eleganter sein als im OP.
6 geschachtelte if scheinen mir nicht sonderlich elegant zu sein.
A. S. schrieb:
> der hast Du eine alternative
Da ich den Algorithmus/Problem/Aufgabe/Sinn/Zweck nicht verstehe, leider
nein.
z.B. sind die Endwerte konstant, oder variabel?
Wohin soll optimiert werden? Lesbarkeit oder Speed?
Ohne Kontext keine Chance.
Einen Bock habe ich ja schon gezeigt.....
Den zweiten identischen schießt er mit high_byte
Das macht schon mal 2 if weniger, liegt damit deutlich auf meiner
Wunschlinie.
Tendenziell, würde versuchen die Variablen irgendwie zusammen zu fassen.
z.B. in einem Array, einer Struktur, oder gar, wenn die Endwerte zu 2er
Potenzen passen in ein Bitfeld. Wenn * oder / Rechnungen nicht zu teuer
sind, auch in einer 32Bit Variablen, denn dann reicht ein Vergleich auf
Endwert, und nur ein Increment.
Potentielle Möglichkeiten gibt es satt.
Als Hürde kommt hinzu, dass ich weder den µC noch den Compiler im
Zugriff habe.
Also nein!
Ich habe keinen konkreten besseren Vorschlag. So ist das einzige
"Besser" welches mir KONKRET einfällt, die Anzahl ifs zu reduzieren.
Mantra:
> Jedes vermiedene if ist ein gutes if.
> Jedes vermeidbare if ist ein böses if
Zwischen den beiden Grenzen findet sich eine Hysterese, dort wo die
unvermeidbaren/notwendigen if stecken.