长双数学库实现?

时间:2011-05-10 04:20:19

标签: c math c99 long-double

C99长双数学库函数(explcosllogl等)的可用便携式实现有哪些(如果有的话)?我查看了fdlibm(基于Sun),NetBSD(基于UCB)等来源并没有看到它们。

2 个答案:

答案 0 :(得分:4)

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

我通常更喜欢BSD code的数学代码(更易读的IMO)。有关80位(英特尔)长双精度格式,请参阅here。对于给定的函数,不同的实现/体系结构可能位于不同的目录中。

要实现的一件事是,long double不是标准化的(更确切地说,仅仅是自2008年的IEEE754版本以来,它还没有在大多数常见的CPU中实现)。这意味着每个CPU需要针对很多内容实现不同的实现(IA32,AMD64,PPC,Alpha,Sparc在这方面都有所不同......)。

答案 1 :(得分:1)