| Crates.io | wrapping_in_range |
| lib.rs | wrapping_in_range |
| version | 0.1.1 |
| created_at | 2025-09-10 21:21:14.478907+00 |
| updated_at | 2025-09-10 21:28:44.751029+00 |
| description | Wrapping arithmetic for any range |
| homepage | |
| repository | https://github.com/nik-rev/wrapping-in-range |
| max_upload_size | |
| id | 1833023 |
| size | 29,412 |
Wrapping-in-range arithmetic for custom ranges via the WrappingInRange type
These arithmetic operations act just like std's .wrapping_sub(), .wrapping_add(), etc. but for a custom user-provided range.
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]
);