#evaluate #expression-evaluator #context #eval

mathew

Mathematical expression evaluator with context

2 releases

0.0.2 Mar 19, 2019
0.0.1 Mar 19, 2019

#943 in Math

MIT/Apache

22KB
572 lines

mathew Documentation Latest version

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

Patreon

Dependencies

~2MB
~48K SLoC