Skip to main content

normalize_cycle_index

Function normalize_cycle_index 

Source
pub fn normalize_cycle_index(offset_days: i64, cycle_length: u32) -> u32
Expand description

Normalize any offset into the range 0..cycle_length.

Handles negative values correctly (wraps around).

use shift_algorithm::normalize_cycle_index;

assert_eq!(normalize_cycle_index(0, 42), 0);
assert_eq!(normalize_cycle_index(42, 42), 0);
assert_eq!(normalize_cycle_index(-1, 42), 41);
assert_eq!(normalize_cycle_index(100, 42), 16);

§Panics

Panics if cycle_length == 0.