From 5d8f0782034b510b146a1b93d8f0c8f303eeb811 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 9 Mar 2014 11:37:14 +0000 Subject: [PATCH] {n,m}_max_frags: fix fencepost efficiency problem fixes the bug discovered/exacerbated in 41013cb05383 --- main.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index de880e9..11bdf0f 100644 --- a/main.c +++ b/main.c @@ -119,8 +119,18 @@ static void progress_eol(void) { static void set_best(double new_best) { best = new_best; - n_max_frags = floor(n / best); - m_max_frags = floor(m / best); + /* + * When computing n_max_frags, we want to set a value that will skip + * anything that won't provide strictly better solutions. So we + * want + * frags < n / best + * _ _ + * <=> frags < | n / best | + * _ _ + * <=> frags <= | n / best | - 1 + */ + n_max_frags = ceil(n / best) - 1; + m_max_frags = ceil(m / best) - 1; } /*----- multicore support -----*/ -- 2.30.2