测试动态 / 行业资讯 / 苹果发布 Swift 的数学计算项目:Swift Numerics
苹果发布 Swift 的数学计算项目:Swift Numerics
2019-11-14 浏览次数:2090

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,它提供以下函数:

  • 指数函数:expexpMinusOne

  • 对数函数:loglog(onePlus:)

  • 三角函数:cossintan

  • 反三角函数:acosasinatan

  • 双曲线函数:coshsinhtanh

  • 反双曲线函数:acoshasinhatanh

  • 幂函数和根函数:powsqrtroot

复数模块则是创建于基础实数类型之上(官方说法是复数模块基于实数模块构建)。我们都知道复数在数学计算中经常会用到,尤其是在进行傅立叶转换的时候,处理音频或是电路仿真时都会用到复数。Steve Canon 提到,在开发者日常使用时,函数库通常会自动隐藏这些复数消息,但是当要开发相关函数库时,复数模块会是很重要的工具。

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

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

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

参考:https://www.ithome.com.tw/news/134151






精彩推荐:

这些浏览器差异,测试跨浏览器兼容性时一定要注意

测试人员必备:全球最好用的7款Bug管理软件

盘点那些喜闻乐见的航空bug价事件

印象笔记被曝严重Bug,数百万用户数据恐遭泄露!

游戏Bug是一种怎样的存在?细数那些让玩家心情复杂的Bug!

热门标签 换一换
软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568