From: Ian Jackson Date: Fri, 9 Oct 2009 21:11:53 +0000 (+0100) Subject: routesearch: middle arch is middle in list of arches, not arch of middle isle X-Git-Tag: 5.0^2~60 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=commitdiff_plain;h=706d75804688b94f51b806adc44f10269c35b0db routesearch: middle arch is middle in list of arches, not arch of middle isle --- diff --git a/yarrg/rscommon.h b/yarrg/rscommon.h index bdcc157..0933e0f 100644 --- a/yarrg/rscommon.h +++ b/yarrg/rscommon.h @@ -163,5 +163,15 @@ static inline int isle2arch(int isle) { return arch; } +static inline int route2midarch(const int *ports, int nports) { + int archs[nports], last_arch=-1, narchs=0, i; + for (i=0; i=0; nports++); \ int finisle= ports[nports-1]; int finarch= isle2arch(finisle); \ - int midisle= ports[nports/2]; int midarch= isle2arch(midisle); \ + int midarch= route2midarch(ports,nports); \ fprintf(stderr, \ - " @%2d #%2d | start%3d mid %d:%3d f%d:%3d | %5d %5d %4d |", \ + " @%2d #%2d | start%3d mid%d f%d:%3d | %5d %5d %4d |", \ pos, nhighscores_##absperl - 1 - pos, \ - ports[0], midarch,midisle, finarch,finisle, \ + ports[0], midarch, finarch,finisle, \ (int)hs->value, (int)pr->absolute, (int)pr->perleague); \ for (i=0; i