How does C compute sin() and other math functions?

I’ve been poring through .NET disassemblies and the GCC source code, but can’t seem to find anywhere the actual implementation of sin() and other math functions… they always seem to be referencing something else.

Can anyone help me find them? I feel like it’s unlikely that ALL hardware that C will run on supports trig functions in hardware, so there must be a software algorithm somewhere, right?


I’m aware of several ways that functions can be calculated, and have written my own routines to compute functions using taylor series for fun. I’m curious about how real, production languages do it, since all of my implementations are always several orders of magnitude slower, even though I think my algorithms are pretty clever (obviously they’re not).

22 Answers
22

Leave a Comment