_evaluate_uniform_cubic_floored

ell1fit.templates._evaluate_uniform_cubic_floored(phases, coefficients, x0, dx, n_intervals, floor)[source]

As _evaluate_uniform_cubic(), but clamping the result as it goes.

The likelihood needs strictly positive densities before taking logs. Doing the clamp inside the interpolation loop removes two extra full-length passes (a nan_to_num and a clip) and the temporaries they allocate, which at a million events is real memory traffic on every posterior evaluation.