Releases: oscbyspro/AwesomeNumbersKit
Releases · oscbyspro/AwesomeNumbersKit
v4.0.2
v4.0.1
v4.0.0
More changes ported from my other project: Numberick.
- #147 Custom index methods
- #146 Shift methods rework
- #145 30% faster decoding
- #144 Galaxy-brain radix exponentiation
- #143 Back to front encoding is fastest
- #142 Future-proof core integer
dividingFullWidthReportingOverflow(_:) - #141 Use xctestplan(s)
- #140 Improved string decoding
- #139 Add
uninitialized(_:)
v3.0.0
Lots of improvements inspired by my other project: Numberick.
- #137 No
Self.DoubleWidthandSelf.Plus1aliases - #136 No
minLastIndex[...]methods - #135 Req. generic masking shifts
- #134 Bounds checked pointers
- #132 Consistent division by zero semantics
- #131 Expose unchecked shift methods
- #130 Overload Swift's generic masking shifts
- #129 Replace
ANKSignand demoteANKSignedto ANKSignedKit - #128 Remove
ANKErrormodel - #127 Rework core protocols
- #126 Remove redundant type aliases
- #125 Rename ANKFoundation as ANKCoreKit
- #124 Req.
dividingFullWidthReportingOverflow(_:) - #123 No
matches(repeating:andisFull - #122 Galaxy brain
multipliedReportingOverflow(by:) - #121 Req.
twosCompelementSubsequence(_:) - #120
ascendinganddescendingtuplegetandset - #119
HighandLowinit - #118 Sneaky signed ± anti-overflow
- #117 Decoding strings without digits
- #112 Move
init(x32:|x64:)to test targets - #111 Add precondition messages
v2.2.0
v2.1.0
Faster multiplication. Better testing. A fix thereof.
- #104 Fixed-width bitwise inverse of
isZero - #103 Faster signed multiplication
- #102 Low
Signed/multiplyFullWidth(by:)sign - #101 Denormalized
Signedtests - #99 Simultaneous non/mutating tests
New ANKFixedWidthInteger getters
var isFull: Bool { get }
func matches(repeating bit: Bool) -> Boolv2.0.0 - The Great Simplification™
Fewer protocols. Faster builds. What's not to like?
GitHub
- #98 Fix
mostSignificantBitcomment - #97 Req. integer text de/encoding
- #96 No
Words - #95 Merge
[...]Large[...]Integer - #94 No
IntOrUInt - #93 No
ContiguousBytes - #92 One Shade of Un/signed™
- #91 Unsigned is Magnitude req.
- #89 The Great Simplification™
Protocols
- ANKBigEndianTextCodable
- ANKBinaryInteger
- ANKBitPatternConvertible
- ❌ ANKContiguousBytes
- ANKCoreInteger
- ANKFixedWidthInteger
- ❌ ANKIntOrUInt
- ❌ ANKLargeBinaryInteger
- ❌ ANKLargeFixedWidthInteger
- ❌ ANKMutableContiguousBytes
- ❌ ANKSignedFixedWidthInteger
- ANKSignedInteger
- ❌ ANKSignedLargeBinaryInteger
- ❌ ANKSignedLargeFixedWidthInteger
- ❌ ANKTrivialContiguousBytes
- ❌ ANKUnsignedFixedWidthInteger
- ANKUnsignedInteger
- ❌ ANKUnsignedLargeBinaryInteger
- ❌ ANKUnsignedLargeFixedWidthInteger
- ❌ ANKWords
v1.2.0
Some new methods. A precondition fix. Cleanup n' stuff.
v1.1.0
v1.0.0
Larger literals. Sendable models. Swift(er) encoding.
- #70 Sendable
- #68 [Im]PerfectRadixUIntRoot
- #67 Magic chunk count
- #66 throwing
decodeBigEndianText(_:radix:) - #65 Up to 4x faster encoding
- #64 Remove: ExpressibleByStringLiteral
- #20 StaticBigInt
Requirements
Language and platform requirements were updated to match StaticBigInt.
| Package | Swift | iOS | iPadOS | Mac Catalyst | macOS | tvOS | watchOS |
|---|---|---|---|---|---|---|---|
| 0.6.2 | 5.7 | 13.0 | 13.0 | 13.0 | 10.15 | 13.0 | 6.0 |
| 1.0.0 | 5.8 | 16.4 | 16.4 | 16.4 | 13.3 | 16.4 | 9.4 |