From 4454f83a6b7964dd3cc39fb6df07e4ccd5284f10 Mon Sep 17 00:00:00 2001 From: Stepan Konrad Date: Thu, 13 Dec 2018 15:56:37 +0100 Subject: [PATCH] Fix division by zero in StopWhenReturnsDiminish criterion --- .../termination_instances/stop_when_returns_diminish.impl.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mapmap/source/termination_instances/stop_when_returns_diminish.impl.h b/mapmap/source/termination_instances/stop_when_returns_diminish.impl.h index 68348e9..592f044 100755 --- a/mapmap/source/termination_instances/stop_when_returns_diminish.impl.h +++ b/mapmap/source/termination_instances/stop_when_returns_diminish.impl.h @@ -54,6 +54,10 @@ check_termination( /* determine improvement in the last couple of iterations */ newest_val = history->energy_history->back(); + /* terminate if objective is already 0 */ + if (newest_val == static_cast<_s_t>(0)) + return true; + luint_t oldest_pos = 0; if(hist_size > m_iteration_span) oldest_pos = (hist_size - 1) - m_iteration_span;