Expand description
§Abaco
Math engine for Rust — expression evaluation, unit conversion, and numeric types.
Abaco provides three core capabilities:
- Expression evaluation — arithmetic, 28+ math functions, variables, scientific notation
- Unit conversion — 95+ built-in units across 14 categories
- Natural language parsing — “what is 15% of 230”, “convert 5 km to miles” (feature-gated)
§Quick Start
use abaco::{Evaluator, UnitRegistry};
// Evaluate expressions
let eval = Evaluator::new();
let result = eval.eval("2 + 3 * 4").unwrap();
assert_eq!(result.to_string(), "14");
// Convert units
let registry = UnitRegistry::new();
let result = registry.convert(100.0, "celsius", "fahrenheit").unwrap();
assert!((result.to_value - 212.0).abs() < 0.1);§Feature Flags
ai— enables natural language math parsing (adds reqwest, tokio)full— enables all optional features
Re-exports§
pub use crate::core::ConversionResult;pub use crate::core::Currency;pub use crate::core::Unit;pub use crate::core::UnitCategory;pub use crate::core::Value;pub use crate::eval::EvalError;pub use crate::eval::Evaluator;pub use crate::eval::Token;pub use crate::eval::tokenize;pub use crate::units::UnitError;pub use crate::units::UnitRegistry;