BigInt v3.0.0 Release Notes

Release Date: 2017-09-07 // over 6 years ago
  • ๐Ÿš€ This is a major release upgrading BigInt to the new integer protocols introduced in Swift 4 as part of SE-0104, Protocol-oriented integers.

    • Adopting the new protocols involved major, breaking changes throughout the API. These aren't individually listed here.
    • ๐Ÿ›  The BigUInt struct now provides inline storage for big integers that fit inside two words. This optimization speeds up conversions from built-in fixed-width integer types, amongst other frequent operations.
    • BigInt and BigUInt implements the new Codable protocol. In both cases, values are encoded in an unkeyed container starting with a string indicating the sign ("+" or "-"), followed by a sequence of 64-bit unsigned integers representing component words, from least to most significant.
    • ๐Ÿ†• New method: BigInt.modulo, contributed by @FabioTacke.
    • ๐Ÿš€ BigUInt does not implement Collection in this release. The collection of words is available in the standard read-only words property. Direct public access to collection methods have been removed; if you have been manipulating big integers using collection methods, you need to rewrite your code. If you have a usecase that isn't covered by the public API, please submit a PR adding the missing functionality. (Public read-write access to the underlying storage inside BigUInt will not be restored, though.)

    โšก๏ธ BigInt is now part of the Attaswift project. The bundle identifiers in the supplied Xcode project have been updated accordingly.

    โšก๏ธ Note that the URL for the package's Git repository has changed; please update your references.