- Fixes a serious bug which made unsigned integers implement the
IntegerNumber
protocol (which is designed for signed integers only) - Enabled
IntegerNumberTests
also for Xcode - Ready for usage with Swift 6
- Reduce minimum deployment targets down to macOS 10.13 and iOS 11.
- Include
StaticBigInt
only when available.
- Support arbitrary length integer literals via
StaticBigInt
. This requires at least macOS 13.3. - Make
Codable
implementation ofBigInt
compatible to JSON use cases - Introduce enum
Integer
wrappingBigInt
and the nativeInt64
implementation - Migrate project to Xcode 15
- Support random number generation for Complex
- Migrated project to Swift 5.7 and Xcode 14
- Support random number generation for BigInt
- Migrated project to Swift 5.5 and Xcode 13.2
- Several enhancements of the
Complex
type - Migrated project to Swift 5.4 and Xcode 12.5
- Port to Swift 5.3
- Migrated project to Xcode 12.0
- Fixed serious bug that was leading to a stack overflow if zero was added to a negative
BigInt
number - Introduced new
Rational
constructor for approximating aDouble
number as aRational
- Cleaned up Xcode project
- Port to Swift 5.2
- Migrated project to Xcode 11.4
- Include iOS build target
- Made all numeric types support protocol
Codable
- Migrated project to Xcode 11.3
- Migrated project to Xcode 11.1
- Removed non-shared scheme from project
- Port to Swift 5.1
- Migrated project to Xcode 11
- Port to Swift 5
- Migrated project to Xcode 10.2
- Use new hashing API to improve hashing algorithm and to speed up hashing compound data structures
- Port to Swift 4.1
- Migrated project to Xcode 9.3
- Port to Swift 4.0.2
- Bug fix to support the Swift Package Manager for Swift 4
- Makes
BigInt
a fully integratedSignedInteger
in Swift 4 - Re-introduces operations with overflow for
Rational
(which got lost in the Swift 4 migration) - Optimize performance of
BigInt
- Comprehensive support for bit operations on
BigInt
numbers - Several bug fixes for existing bit operations
- Fixes numerous bugs in bit shifting logic
- Fixes serious bug in division and remainder logic for
BigInt
numbers
- Ported NumberKit to Swift 4. This is a major change that might break existing clients
- Added support for
toPower(of:)
for all integer types - Added new operators to
BigInt
:<<
,>>
,<<=
,>>=
,%
,%=
- Introduced new integer protocol:
IntegerNumber
- Renamed
FloatNumber
intoFloatingPointNumber
- Refactored directory structure
- Support for Swift Package Manager
- Migrated library to Xcode 8.0, Swift 3.0
- Renamed protocols to match the Swift 3 style guidelines
- Simplified a few implementations, making use of new Swift 3 APIs
- Code now compatible with Xcode 7.3, Swift 2.2
- Turned
BigInt
into a struct to avoid garbage collection overhead
- Significant performance improvements to speed up the BigInt/String conversion method
- Minor feature additions to rational numbers
- Playground (created by Dan Kogai)
- Added arithmetic operations to
Rational<T>
which keep track of overflows - Simplified implementation of
BigInt
- Included new
BigInt
operations, e.g. a computed property for coercions toDouble
- Completed implementation of
Complex<T>
- Completed implementation of
BigInt
- Completed implementation of
Rational<T>
Complex<T>
still missing a large range of functions and tests