From bd019638adda6bdbd1041492d8e3476d3f15a21f Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 21 Dec 2025 15:13:05 +0100 Subject: [PATCH] refactor(qav3): cleanup numerical stability checks MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- quickadapter/user_data/strategies/Utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index 4b947e5..cb4ab58 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -2185,11 +2185,11 @@ def soft_extremum(series: pd.Series, alpha: float) -> float: return np.nanmean(values) scaled_values = alpha * values max_scaled_values = np.nanmax(scaled_values) - if np.isinf(max_scaled_values) or np.isnan(max_scaled_values): + if not np.isfinite(max_scaled_values): return values[np.nanargmax(scaled_values)] shifted_exponentials = np.exp(scaled_values - max_scaled_values) sum_exponentials = np.nansum(shifted_exponentials) - if sum_exponentials <= 0 or not np.isfinite(sum_exponentials): + if not np.isfinite(sum_exponentials) or sum_exponentials <= 0.0: return values[np.nanargmax(scaled_values)] return nan_average(values, weights=shifted_exponentials) -- 2.53.0