Skip to main content
alexpabouct9
Associate III
February 2, 2013
Question

Efficient way to implement trigonometry functions?

  • February 2, 2013
  • 3 replies
  • 967 views
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
This topic has been closed for replies.

3 replies

ken239955
Associate II
February 2, 2013
Posted on February 02, 2013 at 21:17

The fastest way is to use a lookup table.

Tesla DeLorean
Guru
February 2, 2013
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 VenmoUp vote any posts that you find helpful, it shows what's working..
alexpabouct9
Associate III
February 2, 2013
Posted on February 03, 2013 at 00:22

Thanks a ton.

It dropped from ~4.7k cycles to 400 :)

Cheers