Repository navigation
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The changelog overstates the underflow protection: the division fallback can still lose a representable imaginary component, so the claim should describe reduced risk rather than guaranteed prevention.
1 open issue
What changed in this PR
Prepares the crate for release v0.1.29 with synchronized version metadata and release documentation. No algorithm implementations change.
Changes:
- Updates the package and lockfile versions to
0.1.29. - Adds a changelog covering existing features, performance claims, and security limitations.
- Clarifies the sorting algorithm count and adds a Cargo dependency example and changelog link.
| File | Description |
|---|---|
| README.md | Clarifies sorting counts and installation instructions; links the changelog. |
| lib/Cargo.toml | Sets the package version to 0.1.29. |
| lib/Cargo.lock | Synchronizes the locked package version. |
| CHANGELOG.md | Adds release notes and the non-constant-time security warning. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

0.1.29 - 2026-11-04
The first release. Algorithms in pure Rust with no dependencies, each with a page of its own that gives its method, examples and measurements against the reference implementations.
Added
a::sort: 23 sorting algorithms and a default sort, each taking a mutable slice.T: Ord: bubble, selection, insertion, cocktail shaker, gnome, comb, merge, quick, heap, Tim, intro, Shell, Drift, tree, cycle, bitonic, odd-even and stooge sorts. Bitonic and odd-even sorts also come in parallel forms._by_keyforms: counting, radix, bucket and pigeonhole sorts, and sleep sort as a joke.sort, the default: Drift sort, chosen over the other general-purpose sorts by measurement.a::math::numbers::Number: an integer of any size, stored as its sign and the bytes of its magnitude, in either byte order.+,-,*,/and%with their assignments, with owned or borrowed operands and with primitive integers.div_rem, Euclid's division, a preparedDivisor, and exact division.SumandProduct.a::math::ec: elliptic curves over prime fields of any length, onNumber.+, subtract with-and multiply by a number with*.multi_mulby Straus's and Pippenger's methods, and prepared points for repeated products.k·Pandk·Gare faster than OpenSSL 3.6 on its curves, and than curve25519-dalek 4.1 on Ed25519 and X25519.a::math::complex:Complex<f32>andComplex<f64>.abs,arg,exp,ln,sqrtand powers, as principal values with C99's branch cuts.a::math::matrix:Matrix<T>off32,f64,Complex<f32>,Complex<f64>orNumber.+,-and*, by an element, and Hadamard's product. Transposes and conjugate transposes, row and column operations, the trace, and powers.exp,sqrtandlog.Number: exact determinants, ranks, characteristic polynomials, adjugates, inverses and null spaces.f64on one core, at least as fast as faer and nalgebra at every size measured, from 8 × 8 to 1024 × 1024.Security
pow_modand the elliptic curves in particular branch on the values of their exponents and scalars. Use them on public data, not on secret keys.