From a0c73ac774765de18e788f5bb9e174ed8ae9685b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=BCseyin=20Karakaya?= Date: Sun, 21 Jun 2026 21:44:09 +0300 Subject: [PATCH] fix(battery): snap integrated DOD bounds --- pythrust/battery/rate_map.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pythrust/battery/rate_map.py b/pythrust/battery/rate_map.py index 94645a6..7b7ac60 100644 --- a/pythrust/battery/rate_map.py +++ b/pythrust/battery/rate_map.py @@ -591,7 +591,12 @@ def _point_from_cell_state( @staticmethod def _clip_dod(dod: float) -> float: - return min(1.0, max(0.0, float(dod))) + clipped = min(1.0, max(0.0, float(dod))) + if math.isclose(clipped, 0.0, rel_tol=0.0, abs_tol=1e-12): + return 0.0 + if math.isclose(clipped, 1.0, rel_tol=0.0, abs_tol=1e-12): + return 1.0 + return clipped def _reversible_energy_wh(self, dod_initial: float, dod_final: float, *, samples: int) -> float: dod_values = np.linspace(dod_initial, dod_final, samples)