Commit ece68e6
committed
Add Rust implementation of triangulation module using PyO3
This commit introduces a high-performance Rust implementation of the triangulation
module for the adaptive library, providing significant speedup for geometric operations.
Key changes:
- Add Rust project structure with PyO3 bindings (Cargo.toml, src/)
- Implement core geometric algorithms in Rust (circumsphere, volume, point_in_simplex)
- Create full Bowyer-Watson triangulation algorithm in Rust
- Add Python wrapper with automatic fallback to Python implementation
- Achieve 12-17x speedup for point addition and 14-15x for point location
The Rust implementation maintains 100% API compatibility with the existing Python
code and includes optimizations for 2D/3D cases while supporting N-dimensional
operations. All tests pass with the new implementation.
To build: maturin develop
To use: The triangulation_rust.py module automatically uses Rust when available1 parent be769d8 commit ece68e6
File tree
6 files changed
+1794
-0
lines changed- adaptive/learner
- src
6 files changed
+1794
-0
lines changed
0 commit comments