Macros for convenient maths with checked, wrapping or saturating semantics

crate Docs Apache2/MIT licensed Rust Version Build Status

Macromath provides macros which allow to perform checked, wrapping or saturating math using regular operators (+-*/%).

```rust use macromath::checked;

fn calc() -> Option { Some(100) }

asserteq!(Some(50), checked!(calc()? / 2)); asserteq!(None, checked!(3u32 - 9u32 / 4 * 2)); ```

Minimum Supported Rust Version

This crate currently requires Rust 1.56 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

SemVer Policy

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.