Forum: Mikrocontroller und Digitale Elektronik NewBee - Exponetional Funktion Atmega


von Bernd (Gast)


Lesenswert?

Hallo Zusammen,

eine Frage zur Exponential Funktion, ich kenne diese nur von PHP,
http://us2.php.net/exp

gibt es diese auch bei GCC?

Ist die Funktion sehr rechenintensiv, (ähnlich sin() cos() so das
man für häufige Anwendungen lieber eine Lookup Tabelle verwendet)?

Leider hab ich im Forum hierzu nichts gefunden.

(Mathematische Hintergründe oder genaue Berechnung von Expo kenne ich
leider nicht, Wikipedia Formel sind für mich leider unverständlich)

Vielen Dank & Viele Grüße
Bernd

von aha (Gast)


Lesenswert?

Schade, du solltest es sein lassen.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Der Aufwand zur Berechnung der Exponentialfunktion in der libm ist gut 
vergleichbar mit dem Aufwand zur Berechnung von sin und cos.
    http://www.slac.stanford.edu/comp/unix/package/rtems/doc/html/libm/libm.info.exp.html

Ob GCC selbst die Funktion "kennt" und die Berechnung an eine FPU 
weiterleitet oder einen Bibliotheksaufruf macht, der die Funktion in 
Software berechnet, ist abhängig vor der zugrundeliegenden Hardware und 
den Compilereinstellungen. Die Funktion heisst in dem Falle 
__builtin_exp. Dazu weiterlesen in
    http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Other-Builtins.html#Other-Builtins

Johann

...und da es für einen AVR ist, da ist es wieder etwas anders. Da 
brauchst du keine double, weil die in avr-gcc identisch sind mit float. 
Last not least bietet sich eine Fixpunktrechnung an nach dem Prinzip

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.