From 3975a54aa4f64f31e40593fa3751b4d36dd9fa80 Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Wed, 6 Jan 2021 11:49:19 +0800 Subject: [PATCH] fix(mge/sublinear): fix divide by zero in sublinear GitOrigin-RevId: d2bd1138099e1d2265cdf6d81de0cbd133e64df7 --- src/core/impl/graph/seq_sublinear_memory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/impl/graph/seq_sublinear_memory.cpp b/src/core/impl/graph/seq_sublinear_memory.cpp index 04d89309..7906115f 100644 --- a/src/core/impl/graph/seq_sublinear_memory.cpp +++ b/src/core/impl/graph/seq_sublinear_memory.cpp @@ -930,8 +930,8 @@ void SeqModifierForSublinearMemory::ActionSearcherSingleCN::search_genetic() { while (true) { if (it == m_cur_records.end()) it = m_cur_records.begin(); - if (8 * (rng() % m_cur_records.begin()->second) < - 7 * it->second) { + if (8 * (rng() % std::max((size_t)1, m_cur_records.begin()->second)) < + 7 * std::max((size_t)1, it->second)) { records.push_back(*it); it = m_cur_records.erase(it); break;