pub fn range_even(
total: usize,
worker_index: u16,
worker_count: u16,
) -> Result<Range<usize>, UnevenError>Expand description
Strict even-split variant of range.
Returns Ok(slice) — identical to range(total, worker_index, worker_count)
— when total % worker_count == 0, so every worker owns exactly the same
number of items. Returns UnevenError otherwise.
Use this when your algorithm genuinely requires an even split (e.g. SIMD
kernels that assume a fixed per-worker tile size) and you would rather
fail loudly than silently process an uneven distribution. For workloads
that can absorb a one-item skew — histograms, reductions, map-style
passes — prefer range.