Expand description
Wrapping-in-range arithmetic for custom ranges via the WrappingInRange type
[dependencies]
wrapping_in_range = "0.1"These arithmetic operations act just like std’s .wrapping_sub(), .wrapping_add(), etc. but for a custom user-provided range.
§Examples
use wrapping_in_range::WrappingInRange;
let w = |i: i16| WrappingInRange(i, -1..=1);
assert_eq!(
[-2, -1, 0, 1, 2].map(|i| w(i) - 1),
[ 0, 1, -1, 0, 1]
);
assert_eq!(
[-2, -1, 0, 1, 2].map(|i| w(i) + 1),
[-1, 0, 1, -1, 0]
);Structs§
- Wrapping
InRange - This type has overloaded operators that allow wrapping-in-range arithmetic