BigInt 包在 Swift 中提供任意精度整数算术。其功能主要分为以下几类:
==
、!=
、<
、<=
、>
和 >=
BigInt 需要 Swift 5.0。 它还需要 Int 和 UInt 类型为 64 位类型。 BigInt 已经更新,包含了 Leif Ibsen 的更改,直至 v1.19.0。
其文档使用 DocC 插件构建,并发布在 GitHub Pages 上,地址如下:
https://mgriebling.github.io/BigInt/documentation/bigint
文档也包含在 BigInt.doccarchive 文件中。
请注意: 由于 GitHub Pages 中的一个错误,点击某些 BInt
和 BFraction
操作符(例如 < 和 | )会显示以下消息:
The page you're looking for can't be found.
BigInt.doccarchive 文件包含正确的文档。 强调的是,只有文档存在错误。 操作符本身工作正常。
从现在开始,这个 BigInt 变体将镜像 Ibsen 的 BigInt 更改(或多或少),并具有像 BigInt-Extensions.swift 这样的增补文件来实现以 Apple 为中心的协议一致性。
在原始源代码中需要进行两项更改才能支持 BinaryInteger 一致性:
mantissa
重命名为 _mantissa
,以避免与协议要求的 mantissa
变量冲突。支持这些协议极大地简化了 BigDecimal 的添加,并使 BigInt 成为可以与所有其他整数类型互操作的一流公民。