From 41013cb05383473c8ffdcf9afc89dde04760a847 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 9 Mar 2014 10:48:19 +0000 Subject: [PATCH] introduce m_over_best and use it instead of computing maxminsize XXX makes things slower, perhaps has bug ?! --- main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index b248631..69f56d1 100644 --- a/main.c +++ b/main.c @@ -101,7 +101,7 @@ static double best; static glp_prob *best_prob; static AdjWord *best_adjmatrix; -static int n_over_best; +static int n_over_best, m_over_best; static int *weight; static unsigned printcounter; @@ -120,6 +120,7 @@ static void progress_eol(void) { static void set_best(double new_best) { best = new_best; n_over_best = floor(n / best); + m_over_best = floor(m / best); } /*----- multicore support -----*/ @@ -356,6 +357,7 @@ static void prep(void) { setlinebuf(stderr); weight = calloc(sizeof(*weight), m); assert(weight); n_over_best = INT_MAX; + m_over_best = INT_MAX; } #if 0 @@ -377,8 +379,7 @@ static int count_set_adj_bits(AdjWord w) { static int totalfrags; static bool maxhamweight_ok(void) { - double maxminsize = (double)m / maxhamweight; - return maxminsize > best; + return maxhamweight <= m_over_best; } static bool preconsider_ok(int nwords, bool doprint) { @@ -390,8 +391,7 @@ static bool preconsider_ok(int nwords, bool doprint) { for (i=0, totalfrags=0; i m_over_best) { PRINTF(" too fine"); goto out; } -- 2.30.2