The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Some improvements ported from [Numberick](https://github.com/oscbyspro/Numberick).
- #151 Improved `Int` strides
- #150 `isPowerOf2` should not return `true` for signed `min`
- #149 Single perfect radix encoding specialization
- #148 Fix masking shifts by negative multiples of non-power-of-two bit widths
More changes ported from my other project: [Numberick](https://github.com/oscbyspro/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(_:)`
Lots of improvements inspired by my other project: [Numberick](https://github.com/oscbyspro/Numberick).
- #137 No `Self.DoubleWidth` and `Self.Plus1` aliases
- #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 `ANKSign` and demote `ANKSigned` to ANKSignedKit
- #128 Remove `ANKError` model
- #127 Rework core protocols
- #126 Remove redundant type aliases
- #125 Rename ANKFoundation as ANKCoreKit
- #124 Req. `dividingFullWidthReportingOverflow(_:)`
- #123 No `matches(repeating:` and `isFull`
- #122 Galaxy brain `multipliedReportingOverflow(by:)`
- #121 Req. `twosCompelementSubsequence(_:)`
- #120 `ascending` and `descending` tuple `get` and `set`
- #119 `High` and `Low` init
- #118 Sneaky signed ± anti-overflow
- #117 Decoding strings without digits
- #112 Move `init(x32:|x64:)` to test targets
- #111 Add precondition messages
New and improved comparisons. A fix thereof.
- #106 Fix `Signed`'s `<` operator
- #105 Three-way, and faster, comparisons
### New ANKBinaryInteger comparisons
```swift
func compared(to other: Self) -> Int // -1, 0, 1
```
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 `Signed` tests
- #99 Simultaneous non/mutating tests
### New `ANKFixedWidthInteger` getters
```swift
var isFull: Bool { get }
func matches(repeating bit: Bool) -> Bool
```
v2.0.0 - The Great Simplification™
51 weeks ago
Fewer protocols. Faster builds. What's not to like?
### GitHub
- #98 Fix `mostSignificantBit` comment
- #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
1. ANKBigEndianTextCodable
2. ANKBinaryInteger
3. ANKBitPatternConvertible
4. ❌ ANKContiguousBytes
5. ANKCoreInteger
6. ANKFixedWidthInteger
7. ❌ ANKIntOrUInt
8. ❌ ANKLargeBinaryInteger
9. ❌ ANKLargeFixedWidthInteger
10. ❌ ANKMutableContiguousBytes
11. ❌ ANKSignedFixedWidthInteger
12. ANKSignedInteger
13. ❌ ANKSignedLargeBinaryInteger
14. ❌ ANKSignedLargeFixedWidthInteger
15. ❌ ANKTrivialContiguousBytes
16. ❌ ANKUnsignedFixedWidthInteger
17. ANKUnsignedInteger
18. ❌ ANKUnsignedLargeBinaryInteger
19. ❌ ANKUnsignedLargeFixedWidthInteger
20. ❌ ANKWords
Some new methods. A precondition fix. Cleanup n' stuff.
- #88 `quotientAndRemainderReportingOverflow(dividingBy:)`
- #87 `Int256.min.quotientAndRemainder(dividingBy: -1)` should trap
- #86 ANKFixedWidthInteger.BitPattern
- #84 Lazy division overflow detection
- #82 Arithmetic protocol extensions
- #81 Truncating multiplication operators
Rock. Paper. `blackHole(_:)`
- #80 Hide unsafe words base
- #79 Keep "[hashtag] good form [trademark]"
- #77 Remove error operations
- #76 Better bitshifts
- #75 Better digit arithmetic
- #72 Better division
- #69 Rock. Paper. `blackHole(_:)`
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 |