【发布时间】:2011-01-18 02:19:54
【问题描述】:
我一直在研究 .NET 反汇编和 GCC 源代码,但似乎无法在任何地方找到 sin() 和其他数学函数的实际实现......它们似乎总是在引用其他东西。
谁能帮我找到他们?我觉得 C 将运行的所有硬件都不太可能支持硬件中的三角函数,所以必须有一个软件算法某处,对吗?
我知道可以计算函数的几种方法,并且我已经编写了自己的例程来使用泰勒级数来计算函数。我很好奇真实的生产语言是如何做到这一点的,因为我所有的实现总是慢几个数量级,尽管我认为我的算法非常聪明(显然它们不是)。
【问题讨论】:
-
请注意这个实现依赖。您应该指定您最感兴趣的实现。
-
我标记了 .NET 和 C,因为我查看了这两个地方,但也无法弄清楚。尽管查看 .NET 反汇编,但它看起来可能正在调用非托管 C,据我所知,它们具有相同的实现。
标签: c math trigonometry