X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Frsmain.c;h=ed21fe88e441cba93ce1c940b99a7fe5585166e5;hb=8fecbed75b67d8e1ebbb84ac2ad7a2173e5e5c7c;hp=49a59a4067ab42cee48f2f839c8b28607f47754b;hpb=23f08e0abdbd5212e4a867c80f7833e4ebcbb1cf;p=ypp-sc-tools.db-test.git diff --git a/yarrg/rsmain.c b/yarrg/rsmain.c index 49a59a4..ed21fe8 100644 --- a/yarrg/rsmain.c +++ b/yarrg/rsmain.c @@ -5,26 +5,55 @@ int o_quiet= 0; double max_mass=-1, max_volu=-1, max_capi=-1; double distance_loss_factor_per_league; +int max_dist= -1; int main(int argc, const char **argv) { - int ia[argc], ni=0; + const char *arg; +#ifndef debug_flags debug_flags= ~( dbg_sql2 ); - setup(); +#endif + sysassert( !setvbuf(debug,0,_IOLBF,0) ); + + for (;;) { + arg= *++argv; + if (arg[0] != '-') break; +#ifndef debug_flags + if (!strcmp(arg,"-DN")) { + debug_flags= 0; + } else +#endif + { + abort(); + } + } - max_mass= atof(*++argv); - max_volu= atof(*++argv); - max_capi= atof(*++argv); - double loss_per_league= atof(*++argv); + 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_value(); + setup_search(); - const char *arg; - while ((arg= *++argv)) { - ia[ni++]= atoi(arg); + arg= *argv++; + if (!strcmp(arg,"specific")) { + int ia[argc], ni=0; + while ((arg= *argv++)) + ia[ni++]= atoi(arg); + + double val= value_route(ni, ia, 0); + printf("route value is %g\n", val); + } else if (!strcmp(arg,"search")) { + max_dist= atoi(*argv++); + while ((arg= *argv++)) + search(atoi(arg)); + } else { + abort(); } - double val= value_route(ni, ia); - printf("route value is %g\n", val); return 0; }