2 releases
0.0.2 | Mar 19, 2019 |
---|---|
0.0.1 | Mar 19, 2019 |
#943 in Math
22KB
572 lines
mathew
Mathematical expression evaluator with context and float methods
use mathew::Eval;
fn main() -> Result<(), ()> {
let e = Eval::default().insert("foo", "1")?.insert("bar", "0")?;
assert_eq!(e.eval("foo + bar").unwrap(), 1.0);
assert_eq!(e.eval("foo - bar * 1").unwrap(), 1.0);
assert_eq!(e.eval("1 + bar").unwrap(), 1.0);
assert_eq!(e.eval("2.5.powi(2 * foo)").unwrap(), 6.25);
Ok(())
}
Contributing
Please, contribute to mathew! The more the better! Feel free to to open an issue and/or contacting directly with the owner for any request or suggestion.
Code of conduct
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4
License
This project is distributed under the terms of both the Apache License (Version 2.0) and the MIT license, specified in LICENSE-APACHE and LICENSE-MIT respectively.
Support
Dependencies
~2MB
~48K SLoC