请问c库函数是怎么实现atan2等数学函数的?

xdkui 2005-05-12 09:01:49
我下载了glibc源码,但找了一下,却毫无头绪,没找到

能指点一下或是给点提示吗?
谢谢各位的帮助


别的函数库的实现源代码也可以。
我主要是想了解下这些个数学函数是怎么实现的

...全文
771 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
heroboy2000 2005-05-31
  • 打赏
  • 举报
回复
为什么vc提供了几乎所有CRT函数的源代码,为什么math.h的源码没有提供?
nasi00 2005-05-31
  • 打赏
  • 举报
回复
泰勒展开吧

或者是迭代,86系列协处理器的确有硬件支持这个的
  • 打赏
  • 举报
回复
X86得机器协处理器就有这些指令啦.
你用的什么单片机哦,一般的这些基本的函数编译器都已经提供子函数鸟地,不需要自己再写鸟.
jack_wq 2005-05-21
  • 打赏
  • 举报
回复
如果没有猜错应该是查表法!
FrankZhang123 2005-05-21
  • 打赏
  • 举报
回复
C函数的实现是用级数展开的,如果使用查表法,一般都是速度至关重要而精度要求不高的程序。如果你要求速度和精度并存,又要保证存储空间,可以考虑在展开级数上做文章,减少阶数或者对级数展开的中间过程进行查表
uniquecai 2005-05-19
  • 打赏
  • 举报
回复
弹片机上还查表吧,难道你精度要求很高?
起码写起来简单多了.
xdkui 2005-05-15
  • 打赏
  • 举报
回复
多谢各位
但有具体的实现代码吗?或者glibc里的代码在什么地方?

我想在弹片机上实现,但查表法需要太大的存储空间,无法实现。故想看看c函数库里是怎么实现的
whoho 2005-05-14
  • 打赏
  • 举报
回复
了解的不是很确切,据说实现这些三角函数时,为了加快计算速度,
经常采用查表法,比如对正弦,就可以存储0 - pi/2范围内具有较小间隔的
正弦值,其它的就可以通过一定的变换

为了避免因为分割过细造成存储的表过大,一些中间的值可以通过一些计算方法实现
key20003 2005-05-13
  • 打赏
  • 举报
回复
查阅《数值计算方法》一书
WingForce 2005-05-12
  • 打赏
  • 举报
回复
n多实现办法
最基础得:
展开成泰勒级数

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧