cancel
Showing results for 
Search instead for 
Did you mean: 

Efficient way to implement trigonometry functions?

alexpabouct9
Associate II
Posted on February 02, 2013 at 19:28

Hello,

I'm working on the STM32F4, and in my application i need to use atan2 and exp a very large number of times.

In my initial implementation i used the stlib for atan2 and exp. Unfortunately, in the current state my algorithm is too slow to run at the required frequency.

Does anyone have a reference to how these functions are implemented (I'm using GCC 4.7).

Also, does anyone know of a more efficient method to implement these functions? (Taylor series, etc)

Thanks

Alex

#stm32f4-atan2-exp
3 REPLIES 3
ken239955
Associate II
Posted on February 02, 2013 at 21:17

The fastest way is to use a lookup table.

Posted on February 02, 2013 at 23:27

To stand some chance of using the FPU you'd need to use the float (32-bit) version

float  atan2f (float y, float x)

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
alexpabouct9
Associate II
Posted on February 03, 2013 at 00:22

Thanks a ton.

It dropped from ~4.7k cycles to 400 :)

Cheers