oscbyspro/awesomenumberskit
Large number arithmetic in Swift.
ANKCoreKit ([Sources][COR/S], [Tests][COR/T], [Benchmarks][COR/B])
Models, protocols, extensions and utilities underpinning this package.
Protocols
[ANKFullWidthKit][FUL/D] ([Sources][FUL/S], [Tests][FUL/T], [Benchmarks][FUL/B])
A composable, large, fixed-width, two's complement, binary integer.
<table> <tr><td>:jigsaw:</td><td>Composable</td></tr> <tr><td>:two_hearts:</td><td>Two's Complement</td></tr> <tr><td>:european_castle:</td><td>Fixed Width Integer</td></tr> <tr><td>:book:</td><td>Trivial UInt Collection</td></tr> <tr><td>:rocket:</td><td>Single Digit Arithmetic</td></tr> </table>
typealias Int256 = ANKFullWidth< Int128, UInt128>
typealias UInt256 = ANKFullWidth<UInt128, UInt128>[ANKSignedKit][SIG/D] ([Sources][SIG/S], [Tests][SIG/T], [Benchmarks][SIG/B])
A decorative, width agnostic, sign-and-magnitude, numeric integer.
<table> <tr><td>:ribbon:</td><td>Decorative</td></tr> <tr><td>:ringed_planet:</td><td>Sign & Magnitude</td></tr> <tr><td>:100:</td><td>Numeric</td></tr> <tr><td>:rocket:</td><td>Single Digit Arithmetic</td></tr> </table>
typealias Magnitude = UInt
let min = ANKSigned(Magnitude.max, as: FloatingPointSign.minus)
let max = ANKSigned(Magnitude.max, as: FloatingPointSign.plus )Check out my other projects
[Numberick][Oscar/Numberick] is a more pragmatic solution to the same problem.
[Oscar/Numberick]: https://github.com/oscbyspro/Numberick
[ANK/D]: https://oscbyspro.github.io/AwesomeNumbersKit/documentation/awesomenumberskit [FUL/D]: https://oscbyspro.github.io/AwesomeNumbersKit/documentation/awesomenumberskit/ankfullwidth [SIG/D]: https://oscbyspro.github.io/AwesomeNumbersKit/documentation/awesomenumberskit/anksigned
[COR/S]: Sources/ANKCoreKit [FUL/S]: Sources/ANKFullWidthKit [SIG/S]: Sources/ANKSignedKit
[COR/T]: Tests/ANKCoreKitTests [FUL/T]: Tests/ANKFullWidthKitTests [SIG/T]: Tests/ANKSignedKitTests
[COR/B]: Tests/ANKCoreKitBenchmarks [FUL/B]: Tests/ANKFullWidthKitBenchmarks [SIG/B]: Tests/ANKSignedKitBenchmarks
Package Metadata
Repository: oscbyspro/awesomenumberskit
Default branch: main
README: README.md