fn temper_weights(weights: &[f64], temper: f64) -> Vec<f64>Expand description
Flattens weights by raising each to temper, compressing the spread between good and bad
candidates without reordering them.
x^γ is monotone for γ > 0, so the best candidate stays the best — only the ratio between
them shrinks, which is what bounds how much of a session rides on any single relayer. Weights
are clamped at zero first: a negative weight would make powf return NaN and poison the draw.