Skip to main content

scale

Function scale 

fn scale(frequency: Period, k: i32) -> Period
Expand description

frequency scaled by k (e.g. 6M, k=2 → 12M), so a generator can march from its fixed anchor by k whole periods rather than from the previous (possibly clamped) boundary.

Month and year arithmetic clamps into short months (31 Jan + 1M = 28 Feb). Stepping cumulatively absorbs that clamp into the cursor, so one short month permanently ratchets the day-of-month down for every later boundary; measuring from an anchor that is never overwritten keeps each clamp local to the boundary that incurs it. Measuring as seed + n·tenor is why an end-of-month seed does not drift onto a fixed day-of-month. All four generators step this way.