APP下载

苹果发布程式语言Swift数值运算专案Numerics

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息苹果发布程式语言Swift数值运算专案Numerics

苹果的程式语言Swift标准函式库团队成员Steve Canon,宣布了一项名为Swift Numerics的开源专案,内含实数与复数运算模组,提供Swift开发者建置数值运算的基础,相关的数值运算模组都会捆绑在一起,以单一Swift套件发布。

目前Swift Numerics程式码储存库中,已经有两个一直以来被开发者强烈要求的模组,其一是提案SE-0246的功能实作实数(Real Number)模组,以及提供复数运算的复数(Complex Number)模组。SE-0246提案在Swift加入基础数学函式API,提供像是三角函数与对数等通用运算,这项提案已经被接受,但由于编译器的限制,该API还不能被加到标准函式库中,因此实数模组将以独立的模组提供API,开发者现在就已经能在专案中使用这些功能。

而复数模组则是建立在基础实数类型之上,复数在数值运算上常会用到,尤其是在进行傅立叶转换的时候,处理音讯或是电路模拟时都会用到复数,Steve Canon提到,在开发者日常使用时,函式库通常会自动隐藏这些复数讯息,但是当要开发相关函式库时,复数模组会是很重要的工具。

之所以不在标准函式库中提供Swift Numerics功能,而要利用套件的形式发布,Steve Canon表示,这之中存在许多考量,但是最主要的原因是,他认为,并非所有内容都应该放进标准函式库中,随着时间变迁,Swift Numerics中的部分功能可能会被放进标准函式库中,但是在预设情况,有一些模组不应该预设加入每一个专案里,应该要有一个自己专属的地方,而Swift Numerics就是这类数值运算模组的集合,就像是SwiftNIO套件是专门提供网络相关功能一样。

另外,以套件打包的好处,还包括Swift Numerics的更新将不受Swift版本发布的时间限制,可以在进入稳定版之前,先释出测试模组进行试验。

Steve Canon提到,接下来他们还会为Swift Numerics加入重要的ShapedArray协定以及支援的类型,让开发者能方便地表达多维度的同质资料,此外,也会新增支援Float16。

2019-11-13 01:47:00

相关文章