# mathew [](https://docs.rs/mathew/) [](https://crates.io/crates/mathew)
Mathematical expression evaluator with context and float methods
```rust
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][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: 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](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) respectively.
## Support
[Patreon][patreon]
[patreon]: https://www.patreon.com/r_iendo