Wen du ein GCC benutzt: da kannst du einfach die libm benutzen. Einfach gcc-Schalter -lm und die Prototypen hast du via #include <math.h>
Allerdings implementiert die libm den ieee-Standard, was einen gewissen Overhead beinhaltet, weil auch NANs (NAN steht für Not A Number, also zB Infinity, etc) korrekt bekandelt werden. Kleinen µC sprengt das den Flash, und von der Laufzeit ginge es bestimmt auch besser.
Lookup-Tabellen sind ja so schlecht nicht, wenn du zwischen den Stützstellen interpolierst (zB linear oder quadratisch).
Was evtl auch gut funktionieren könnte, ist eine Lookup und 1 oder 2 Schritte mit Newton nachzuiterieren (bei sin und cos). tan auf sin, cos zurückführen.
Zudem ist eine Lookup nicht aud 256 Byte oder 8bit-Werte beschränkt. Da würde ich eher die Bitbreite der Werte genauer machen als mehr Werte in die Tabelle zu nehemn und anschauen, wie man gescheit interpoliert (Bronstein-Semendjajew)
Lesezeichen