Skip to content

Commit ece68e6

Browse files
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 available
1 parent be769d8 commit ece68e6

File tree

6 files changed

+1794
-0
lines changed

6 files changed

+1794
-0
lines changed

0 commit comments

Comments
 (0)