主题 : 苹果发布Swift的数学计算项目:Swift Numerics
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62139(时)
注册时间: 2008-12-25
最后登录: 2024-04-24

苹果发布Swift的数学计算项目:Swift Numerics

Swift标准函数库团队成员Steve Canon 宣布 Swift开源生态又添一员—— Swift Numerics。这是用于Swift的Numerical API,源码托管在GitHub上,旨在迅速填补标准库现有API中的一些重要空白,并为Swift编程开拓新领域。

据介绍,Swift Numerics可为Swift开发者提供构建数值运算的基础,相关的数值运算模块都会捆绑在一起,并以独立的 Swift组件发布。
Steve Canon已在 Swift Numerics的GitHub仓库中内置了两个呼声甚高的数学计算模块,分别是实数模块(Real Number)和提供复数运算的复数(Complex Number)模块。SE-0246提案建议在Swift中加入基础数学函数API,提供诸如三角函数与对数等通用运算。这项提案已经被接受,但由于编译器的限制,该API还不能被加到标准函数库中,因此实数模块将以独立的模块提供API,开发者现在可在项目中使用这些功能。
实数模块定义了三个协议。最通用的是ElementaryFunctions,它提供以下函数:
    指数函数:exp,expMinusOne
    对数函数:log,log(onePlus:)
    三角函数:cos,sin,tan
    反三角函数:acos,asin,atan
    双曲函数:cosh,sinh,tanh
    反双曲函数:acosh,asinh,atanh
    幂函数和根函数:pow,sqrt,root
复数模块则是创建于基础实数类型之上(官方说法是复数模块基于实数模块构建)。我们都知道复数在数学计算中经常会用到,尤其是在进行傅立叶转换的时候,处理音频或是电路仿真时都会用到复数。Steve Canon提到,在开发者日常使用时,函数库通常会自动隐藏这些复数消息,但是当要开发相关函数库时,复数模块会是很重要的工具。
Steve Canon还解释了不在标准函数库中提供Swift Numerics功能,而要利用组件的形式发布的原因。他表示这其中存在许多考量,但最主要的原因是,他认为并非所有内容都应该放进标准函数库中。随着时间变迁,Swift Numerics中的部分功能可能会被放进标准函数库中,但在默认情况下,某些模块不应默认加入到每一个项目里,它们应有一个自己专属的地方,而Swift Numerics就是这类数学计算模块的集合,就像 SwiftNIO组件是专门提供网络相关功能一样。
另外,以组件打包的好处还包括Swift Numerics的更新将不受Swift版本发布的时间限制,开发者可以在进入稳定版之前,先发布测试模块进行试验。
Steve Canon还提到,接下来他们还会为Swift Numerics加入重要的ShapedArray协议以及支持的类型,让开发者能方便地表达多维度的同质数据,此外还会增加对Float16的支持。
知足常乐
级别: 十方秋水

UID: 23
精华: 1
发帖: 261111
威望: 117123 点
无痕币: 2324 WHB
贡献值: 0 点
在线时间: 9390(时)
注册时间: 2007-11-24
最后登录: 2024-04-24

这个看看了
事能知足心常乐 人到无求品自高
影视交流
级别: 论坛版主

UID: 33334
精华: 0
发帖: 62432
威望: 501219 点
无痕币: 18489 WHB
贡献值: 1145538 点
在线时间: 60624(时)
注册时间: 2009-03-18
最后登录: 2024-04-23

这个项目有什么科研价值哩?
标签
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62139(时)
注册时间: 2008-12-25
最后登录: 2024-04-24

这个可以看看,了解一下。
Total 0.074980(s) query 4, Time now is:04-24 00:37, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛