Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6d04e9d
Add famst crate: Fast Approximate Minimum Spanning Tree
jorendorff Jan 14, 2026
c09952f
Fix O(n²) initialization bug in NN-Descent
jorendorff Jan 14, 2026
4ad3eb2
Unify duplicate loops in extract_mst
jorendorff Jan 14, 2026
9249548
Remove unnecessary edge deduplication in extract_mst
jorendorff Jan 14, 2026
c14f0cb
Unify n==0 and n==1 cases, remove debug println
jorendorff Jan 14, 2026
4ccefd9
Add tests for empty and single-point inputs
jorendorff Jan 14, 2026
60d85f2
Add test for k >= n case
jorendorff Jan 14, 2026
e37f359
Manual tweaks.
jorendorff Jan 17, 2026
b3a257b
Replace HashSets with sorted Vecs for memory efficiency
jorendorff Jan 17, 2026
12c98c9
Refactor AnnGraph to use single flat allocation
jorendorff Jan 17, 2026
2561f99
Make internal types private
jorendorff Jan 17, 2026
4ec0063
Switch to 32-bit types for memory efficiency
jorendorff Jan 17, 2026
2940252
extract nn_descent into separate file
aneubeck Jan 19, 2026
2d42e40
refactor a bit more
aneubeck Jan 19, 2026
4590627
use NodeId type everywhere
aneubeck Jan 19, 2026
7f8ee78
Update lib.rs
aneubeck Jan 19, 2026
ea848b5
improve find_components a bit
aneubeck Jan 19, 2026
0014f86
more simplifications
aneubeck Jan 19, 2026
dfad6d7
fix tests
aneubeck Jan 19, 2026
2375b36
start using rayon
aneubeck Jan 19, 2026
9b45210
introduce new marker
aneubeck Jan 19, 2026
a8af2c6
Update lib.rs
aneubeck Jan 19, 2026
d4e68c7
rewrite reverse edge computation
aneubeck Jan 19, 2026
5477533
Update nn_descent.rs
aneubeck Jan 19, 2026
34b6e1f
Use more cache-friendly loop
aneubeck Jan 19, 2026
ca7b074
slightly faster parallel version (but it seem like a single threaded …
aneubeck Jan 19, 2026
c8c1689
fastest version so far
aneubeck Jan 19, 2026
8eb4090
Update nn_descent.rs
aneubeck Jan 19, 2026
4de8ce9
Update lib.rs
aneubeck Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions crates/famst/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[package]
name = "famst"
version = "0.1.0"
edition = "2024"
description = "Fast Approximate Minimum Spanning Tree (FAMST) algorithm"
license = "MIT"

[dependencies]
rand = { version = "0.8", features = ["small_rng"] }
rayon = "1"

[dev-dependencies]
rand = "0.8"
Loading
Loading