6 releases
0.2.4 | Dec 12, 2022 |
---|---|
0.2.3 | Dec 10, 2022 |
0.1.4 | Dec 10, 2022 |
#1623 in Algorithms
40KB
1K
SLoC
Keyde - Small and Speedy spacial queries
Keyde aims to provide minimal yet fast implementations of spacial query structures.
Currently, keyde provides a:
- Kd-tree
"Points"
Keyde provides a Point
trait that is implemented for arrays of sizes 1 to 4,
tuples of 2 and 3 dimension as well as for all the basic 1D types (u8, i8, isize..)
By enabling optional features such as glam
, you can get an implementation for that crate's
default Vec3, Vec4, Vec2 and Vec3A types.
Keyde wants to suppoort more linear algebra crates, so feel free to make a PR and add your favorite one.
See src/point_implementations.rs
for inspiration.
Kd-tree
Key things that differ keyde's kd-tree implementation from others:
- No recursion, only iterative implementations
- No cloning of your data, everything is refered to by indices into your data
- Provides
KdTreeStrategy
to choose sorting strategy which might help you find a creation/querying-strategy that is more optimal for your particular data layout
Dependencies
~0–740KB
~22K SLoC