alternative zu pow()?

#2884722
Lesenswert?

Das kommt drauf an.
Wie sieht denn dein Exponent aus?

pow( x, 2 )  ist ja nichts anderes als x*x
und pow( x, 3)   ist nichts anderes als x*x*x

hast du einen ganzzahligen Exponenten, dann kannst du einfach mal die 
entsprechenden Multiplikationen ausrollen.

ein sqrt( x ) würde ich aus dem Bauch heraus auch mal als schneller 
einschätzen als ein pow( x, 0.5 )
#2884731
Lesenswert?

Du musst schon genauere Angaben machen, sonst können wir die ja nix 
passendes vorschlagen. Welchen Wertebereich und welche Genauigkeit haben 
deine Eingangsparameter x,y für pow(x,y)? Und was ist dein 
Anwendungsfall? Sehr oft stellt sich bei Performancesachen heraus, dass 
das Problem einfach nur ungeschickt angegangen wurde.
Gast #2884963
Lesenswert?

ui, danke für die schnellen Antworten

Es muss die Formel umgesetzt werden:
y = k * x^exp

Werte im Intervall [von; bis]
k = 16.37 (double)
exp = 0.39 (doube)
x = [0; 249] (eignetlich int, aber muss wohl auf double umgewandelt 
werden)

Genauigkeit mindestens 2 Nachkommastellen

Die Formel muss etwa 1000 mal pro Sekunde gerechnet werden, was den 
Prozessor (16MHz) schon gut auslastet

Marco M. schrieb:
> Du musst schon genauere Angaben machen, sonst können wir die ja nix
> passendes vorschlagen. Welchen Wertebereich und welche Genauigkeit haben
> deine Eingangsparameter x,y für pow(x,y)? Und was ist dein
> Anwendungsfall? Sehr oft stellt sich bei Performancesachen heraus, dass
> das Problem einfach nur ungeschickt angegangen wurde.

Aber ich liebe dieses Forum so sehr, weil mir so oft schon Ideen und 
Lösungen eingefallen sind, NACHDEM ich ne Frage formuliert und gepostet 
habe :-)
Mir ist gerade klar geworden, das k und exp ja zur Laufzeit konstant 
sind, deshalb kann ich ja eigentlich x^exp für alle 250 Möglichkeiten im 
Voraus berechnen und muss "nur" noch *k rechnen.

Und diese Multiplikation kann man sicher auf "Integer*Interer" umformen 
und trotzdem meine gewünschte Genauigkeit zu behalten.
#2885231
Lesenswert?

Cheater schrieb:
> ich bin blöd, ich kann ja ALLES im Voraus berechnen und abspeichern...
> man bin ich doof

In irgendeinem Buch las ich, dass es an einer Uni in Amerika einen Teddy 
gab, dem die Studenten zuerst ihr Problem vortragen mussten, bevor sie 
damit zum Prof durften.
Wenn man sich sein Problem vergegenwärtigt, dann findet man oft selbst 
die Lösung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren