Swift中是否有自然对数函数?

3

我正在编写一些函数来解决问题,需要使用ln(自然对数),但是我在Swift中似乎找不到它,我已经搜遍了整个互联网,但仍然找不到答案。希望有人能提供帮助。

let rate : Double = log(finalAmount / initalAmount) / time return rate

log应该改成ln。


1
你问题中的 log() 函数 就是 自然对数函数。 - rmaddy
没有,但是 Foundation 有这个功能。 - Mojtaba Hosseini
@MojtabaHosseini:实际上,在macOS中,它是系统库的一部分,并通过import Darwin导入。 - Martin R
可能是Swift中的数学函数的重复问题。 - Martin R
@MojtabaHosseini:Swift可以使用系统库(例如标准数学库)。在Apple平台上使用import Darwin,在Linux上使用import Glibc。(Foundation也会导入Darwin,因此如果您导入Foundation,则已经拥有它。) - Martin R
显示剩余2条评论
1个回答

2

导入Foundation库,你会发现log()已经为所有实数类型实现。同样地,log10()和其他专业的对数函数也被实现了。


正如@MartinR所指出的,这是为iOS而设计的,在MacOS中则在系统库中。对于其他平台,这将取决于它们是否已经移植了Foundation或实现了等效的功能。 - flanker
对于iOS来说,它也在系统库中(适用于所有苹果平台)。 - Martin R
除非我导入Foundation,否则我看不到它? - flanker
import Darwin 应该就足够了,可以参考 https://dev59.com/zWAg5IYBdhLWcg3wDHfS#24012755 或 https://dev59.com/zWAg5IYBdhLWcg3wDHfS#34972828。 - Martin R
有趣的阅读。谢谢。您知道Foundation是否重新实现了这些函数(即它们是否是原生Swift,就像我认为现在的Foundation一样?)还是只是导入Darwen? - flanker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接