X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Frssearch.c;h=88ea45132fcb5ae1c5448ceb3e1e7364b21dfef6;hp=c51aae02f655571571b246aec89e578e2aef2b58;hb=7cadaf1a332c11a000970a044bd103b8e1865545;hpb=81bd9338a2395caf88731f9d16de5b88868dd5c9 diff --git a/yarrg/rssearch.c b/yarrg/rssearch.c index c51aae0..88ea451 100644 --- a/yarrg/rssearch.c +++ b/yarrg/rssearch.c @@ -32,26 +32,35 @@ static Neighbour *get_neighbours(int isle) { return head; } -static double bestsofar; +static double best_absolute, best_perleague; -static void process_route(int nports) { - double value= value_route(nports, ports); - if (value < bestsofar) return; +static void process_route(int nports, int totaldist) { + double absolute= value_route(nports, ports); + double perleague= absolute / totaldist; + + if (absolute < best_absolute && perleague < best_perleague) return; + +#define CHK(absperl) \ + fprintf(stderr,#absperl " %15f", absperl); \ + if (absperl < best_##absperl) fputs(" ",stderr); \ + else { best_##absperl= absperl; fputs("** ",stderr); } + + CHK(absolute) + CHK(perleague) + + fputs(" route",stderr); - fprintf(stderr,"value %20f route", value); int i; for (i=0; i= MAX_ROUTELEN) return; Neighbour *add;