Repository navigation
v0.6.0
num-prime v0.6.0 is mostly a factorization release: big integers no longer fall off a performance cliff, and inputs that used to be reported as unfactorable now complete.
- Factorization correctness: each cofactor now gets its own Pollard's rho budget, so large semiprime products are no longer returned as failed remainders
- Factorization performance: Montgomery arithmetic over 64-bit limbs beyond u128 (a 512-bit product of thirteen ~2^39 primes goes from 5.3s to 1.1s), perfect-power peeling, Hart's one-line and SQUFOF restricted to <= 64-bit targets, and ~25% faster
factorize64 - Bug fixes: zero handling in the primitive
sqrt_exact - Dependencies: criterion 5, num-bigint 0.4.8, lru 0.16.4, either 1.18, bitvec 1.1.1, getrandom 0.4.3, crossbeam-epoch 0.9.21, anyhow 1.0.103; unused dependencies removed and direct-minimal-versions made to work
- CI: minimal-versions job, updated Clippy configuration, checkout without credential persistence, CodSpeed v5, codecov v7
- Licensing: COPYRIGHT file added and LICENSE updated
3 new contributors joined the project.
What's Changed
- ci: use shorter workflow name by @cakebaker in #63
- Optimize factorization hot paths (~25% speedup on factorize64) by @sylvestre in #67
- chore(deps): update codecov/codecov-action action to v6 by @renovate[bot] in #68
- chore(deps): update rust crate codspeed-criterion-compat to v4.4.1 by @xtqqczze in #66
- Update Rust crate lru to v0.16.4 by @renovate[bot] in #72
- Update Rust crate rand_core to v0.10.1 by @renovate[bot] in #71
- chore(deps): removed unused deps by @xtqqczze in #76
- Update Rust crate criterion to v4.5.0 by @renovate[bot] in #79
- Bump rand from 0.8.5 to 0.8.6 by @dependabot[bot] in #81
- Update Rust crate criterion to v4.6.0 by @renovate[bot] in #82
- chore(deps): update rust crate rand to v0.8.6 by @xtqqczze in #78
- Cargo.toml: sync profile with coreutils by @oech3 in #69
- Add COPYRIGHT file and update LICENSE by @xtqqczze in #84
- Update Rust crate either to v1.16.0 by @renovate[bot] in #86
- Update Rust crate criterion to v4.7.0 by @renovate[bot] in #87
- Update codecov/codecov-action action to v7 by @renovate[bot] in #88
- Update actions/checkout action to v7 by @renovate[bot] in #89
- Update Rust crate criterion to v5 by @renovate[bot] in #91
- Update Rust crate criterion to v5.0.1 by @renovate[bot] in #92
- Bump
anyhowfrom1.0.101to1.0.103by @cakebaker in #94 - Update Rust crate either to v1.17.0 by @renovate[bot] in #99
- Update Rust crate num-bigint to v0.4.8 by @xtqqczze in #101
- Update CodSpeedHQ/action action to v5 by @renovate[bot] in #102
- ci: disable credential persistence in checkout steps by @xtqqczze in #85
- chore: reformat TOML files by @xtqqczze in #83
- Update Rust crate num-integer to v0.1.47 by @renovate[bot] in #104
- ci: fix indentation by @cakebaker in #103
- Update Rust crate either to v1.18.0 by @renovate[bot] in #106
- Fix typo in README.md by @krakow10 in #108
- fix: handle zero in primitive sqrt_exact by @haroune-dev in #109
- ci: update configuration for Clippy by @xtqqczze in #100
- Bump
crossbeam-epochfrom0.9.18to0.9.21by @cakebaker in #98 - Update Rust crate criterion to v5.0.2 by @renovate[bot] in #112
- Bump
getrandomfrom0.4.1to0.4.3by @cakebaker in #110 - Update Rust crate bitvec to v1.1.1 by @renovate[bot] in #90
- deps: update for direct-minimal-versions by @xtqqczze in #65
- bench: cover the factorizations that should take seconds by @sylvestre in #113
- factor: fix incomplete and pathologically slow factorizations by @sylvestre
- factor: use Montgomery arithmetic beyond u128 by @sylvestre
New Contributors
- @dependabot[bot] made their first contribution in #81
- @krakow10 made their first contribution in #108
- @haroune-dev made their first contribution in #109
Full Changelog: v0.5.0...v0.6.0