Function scale
fn scale(frequency: Period, k: i32) -> PeriodExpand 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.