1 unstable release
0.1.0 | Dec 13, 2021 |
---|
#895 in #utility
16KB
233 lines
Macros for convenient maths with checked, wrapping or saturating semantics
Macromath provides macros which allow to perform checked, wrapping or saturating math
using regular operators (+-*/%
).
use macromath::checked;
fn calc() -> Option<i8> {
Some(100)
}
assert_eq!(Some(50), checked!(calc()? / 2));
assert_eq!(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
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
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.
Dependencies
~1.5MB
~36K SLoC