Swiftpack.co - Jitsusama/UInt128 as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by Jitsusama.
Jitsusama/UInt128 v0.8.0
A Swift 128-bit Unsigned Integer Data Type conforming to the UnsignedInteger Protocol
⭐️ 51
🕓 2 weeks ago
.package(url: "https://github.com/Jitsusama/UInt128.git", from: "v0.8.0")

UInt128

A Swift 128-bit Unsigned Integer Data Type conforming to the UnsignedInteger, FixedWidth, BinaryInteger, Hashable, Numeric, Equatable, ExpressibleByIntegerLiteral, CustomStringConvertible, CustomDebugStringConvertible, Comparable and Codable (thanks @adamnemecek) Protocols, as well as extending the BinaryFloatingPoint and String types to support operating with its new type.

Carthage compatible

Installation

This library includes Carthage, CocoaPods and SPM support out of the box. Reference this git repository in a Podfile, Cartfile or Package.swift file in order to easily include this library while also being able to easily track changes.

You can also manually copy over the Sources/UInt128.swift file into your project and it should work great. I've purposely kept this library constrained to a single file in order to support this use case.

Usage

Since this library fully implements the UnsignedInteger protocol, you can use this data type just like any other native UInt data type. For numbers larger than UIntMax, you'll either want to call the init(upperBits: UInt64, lowerBits: UInt64) initializer, or, use the init(_ source: String) initializer to create an instance with a string. The string can be in binary, octal, decimal or hexadecimal.

For example:

let uInt128ByString = UInt128("0xffaabbcc00129823fa9a12d4aa87f498")!
let uInt128ByInteger: UInt128 = 1234

Building

This project includes an example Xcode project for building the framework that also includes a playground that can be utilized for testing things out. This Xcode project can build from one target a iphone, iphonesimulator or macos build. It also includes unit testing and code coverage.

GitHub

link
Stars: 51
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Related Packages

Release Notes

Version 0.8.0
4 years ago

This release introduces CocoaPods support as well as resolving some annoying warnings that Xcode has started giving out recently related to the bitWidth property.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics