长双数学库实现?

发布于 2024-11-06 02:25:57 字数 149 浏览 4 评论 0原文

C99 long double 数学库函数(explcosllogl 等)有哪些可用的可移植实现(如果有)?我查看了 fdlibm(基于 Sun)、NetBSD(基于 UCB)等源代码,但没有看到它们。

What are the available portable implementations of the C99 long double math library functions (expl, cosl, logl, etc.), if any? I've looked in fdlibm (Sun-based), NetBSD (UCB-based), etc. sources and not seen them.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠我空喜 2024-11-13 02:25:57

您应该能够在基于 Sun 的库中看到它(在我所知道的几乎所有开放 C 库中使用,包括 glibc 和 FreeBSD 库)。

我通常更喜欢 BSD 代码 作为数学代码(在我看来更具可读性)。请参阅此处了解 80 位 (Intel) 长双精度格式。对于给定的功能,不同的实现/架构可能位于不同的目录中。

需要认识到的一件事是,long double 尚未标准化(更准确地说,只是自 IEEE754 2008 年修订版以来,大多数常见 CPU 中尚未真正实现)。这意味着每个 CPU 需要对很多东西进行不同的实现(IA32、AMD64、PPC、Alpha、Sparc 在这方面都不同......)。

You should be able to see it in the Sun-based libraries (used in pretty much all the open C libraries I am aware of, including glibc and FreeBSD one).

I generally prefer BSD code for math code (more readable IMO). See here for 80-bits (Intel) long double format. For a given function, different implementation/architectures may be in different directories.

One thing to realize is that long double is not standardized (more exactly, only since the 2008 rev of IEEE754, which is not really implemented in most common CPU yet). Which means each CPU requires a different implementation for a lot of stuff (IA32, AMD64, PPC, Alpha, Sparc are all different in that aspect...).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文