X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2Frsmain.c;h=976aa5a29e4d3a1ed81c44945dcb102a3950b293;hp=17e98a39962a3ce22c72ce939c99ae797445c74f;hb=7ad4d18b7d353d1b068bdc47a3a98351175e09f8;hpb=447921b45575ec3c98cff70183fccb2f16326df4 diff --git a/yarrg/rsmain.c b/yarrg/rsmain.c index 17e98a3..976aa5a 100644 --- a/yarrg/rsmain.c +++ b/yarrg/rsmain.c @@ -12,25 +12,29 @@ int max_dist= -1; FILE *debug_file; FILE *output; -DEBUG_DEFINE_SOME_DEBUGF(tableau,tabdebugf); +#define tabdebugf printf -#define CTR(x) int ctr_##x; +#define CTR(x) int ctr_##x; +#define CTRA(x,n) int ctr_##x[n]; COUNTER_LIST #undef CTR +#undef CTRA -static PotentialResult ****results; - /* results[start_isle_ix][finalisle][midisle]-> */ +static PotentialResult ****results[GRANUS]; + /* results[GRANUS][start_isle_ix][finalisle][midisle]-> */ static pid_t debugoutpid; int main(int argc, const char **argv) { const char *arg; + int i, ap; + int granui; #ifndef debug_flags debug_flags= ~( dbg_sql2 ); #endif - + for (;;) { arg= *++argv; if (arg[0] != '-') break; @@ -71,22 +75,24 @@ int main(int argc, const char **argv) { debug_file= stderr; } + const char *database= *argv++; + sysassert( !setvbuf(debug,0,_IOLBF,0) ); max_mass= atof(*argv++); max_volu= atof(*argv++); max_capi= atof(*argv++); double loss_per_league= atof(*argv++); - - if (!loss_per_league) loss_per_league= 1e-7; distance_loss_factor_per_league= 1.0 - loss_per_league; - setup_sql(); + setup_sql(database); setup_value(); setup_search(); + for (i=0; iabsolute)); - tabdebugf(" "); - tabdebugf("%4d",(int)(result->perleague)); - } + int mid, fin; + for (granui=0; granuipr; \ - if (!pr) continue; \ - const int *const ports= pr->absperl##_ports; \ - int nports; \ - for (nports=0; nports=0; nports++); \ - int finisle= ports[nports-1]; int finarch= isle2arch(finisle); \ - int midarch= route2midarch(ports,nports); \ - fprintf(output, \ - " @%2d #%2d | start%3d mid%d f%d:%3d | %5d %5d %4d |", \ - pos, nhighscores_##absperl - 1 - pos, \ - ports[0], midarch, finarch,finisle, \ - (int)hs->value, (int)pr->absolute, (int)pr->perleague); \ - for (i=0; ivalue[A])); + tabdebugf(" "); + tabdebugf("%4d",(int)(result->value[P])); + } + } + tabdebugf("\n"); + } + } /* i */ + + for (ap=0; appr; + if (!pr) continue; + const int *const ports= pr->ports[ap]; + int nports; + for (nports=0; nports=0; nports++); + int finisle= ports[nports-1]; + int finarch= isle2arch(finisle); + int midisle= ports[nports/2]; + int midarch= route2midarch(ports,nports); + fprintf(output, + " @%2d #%2d | start%3d mid%d:%3d f%d:%3d | %5d %5d %4d |", + pos, nhighscores[granui][ap] - 1 - pos, + ports[0], midarch,midisle, finarch,finisle, + (int)hs->value, (int)pr->value[A], (int)pr->value[P]); + for (i=0; i