// codesnip-guard: dyadic_ranges #[cfg_attr(any(),rustfmt::skip)]pub use self::dyadic_ranges::dyadic_ranges;#[cfg_attr(any(),rustfmt::skip)]mod dyadic_ranges{#[doc=" Maximal aligned power-of-two intervals."]pub fn dyadic_ranges(range:std::ops::Range)->impl Iterator>{let mut left=range.start;let right=range.end;std::iter::from_fn(move| |{if left>=right{return None;}let remaining=right-left;let exponent=left.trailing_zeros().min(remaining.ilog2());let end=left+(1u64<