From 0288d0956330d5ac8db48b752240f723e8703929 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 12 Sep 2025 04:02:02 +0800 Subject: feat: initial basic roll features --- src/lib.rs | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 166cb09..68821bd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,16 +1,26 @@ +//! OneRoll - High-performance dice expression parser +//! +//! This is a dice expression parser implemented in Rust and bound to Python through PyO3. +//! Supports complex dice expression parsing, various modifiers and mathematical operations. + use pyo3::prelude::*; -#[pyfunction] -fn sum_as_string(a: usize, b: usize) -> PyResult { - Ok((a + b).to_string()) -} +mod errors; +mod types; +mod calculator; +mod parser; +mod python_bindings; -#[pyclass] -pub struct Base {} +pub use errors::DiceError; +pub use types::{DiceResult, DiceRoll, DiceModifier, Expression}; +pub use calculator::DiceCalculator; +pub use parser::DiceParser; +pub use python_bindings::{OneRoll, roll_dice, roll_simple}; #[pymodule] fn _core(_py: Python<'_>, m: &PyModule) -> PyResult<()> { - m.add_function(wrap_pyfunction!(sum_as_string, m)?)?; - m.add_class::()?; + m.add_function(wrap_pyfunction!(roll_dice, m)?)?; + m.add_function(wrap_pyfunction!(roll_simple, m)?)?; + m.add_class::()?; Ok(()) } \ No newline at end of file -- cgit v1.2.3-70-g09d2