X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=blobdiff_plain;f=yarrg%2Frsmain.c;h=7e5e5e8a2af2b06c5e1199ae075c31eb3f0e658c;hp=2ed1e0e7dae61cc16aa1a454e1c4f4904e9147e2;hb=b5f936bf08ab82b34f9529b72946c0cd66ef5a62;hpb=fe6287943a7a0f074f7e08d9ca64ef966d9c82e3 diff --git a/yarrg/rsmain.c b/yarrg/rsmain.c index 2ed1e0e..7e5e5e8 100644 --- a/yarrg/rsmain.c +++ b/yarrg/rsmain.c @@ -3,16 +3,42 @@ #include "rscommon.h" 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; + + debug_flags= ~( dbg_sql2 ); + sysassert( !setvbuf(debug,0,_IOLBF,0) ); + + setup_sql(); + setup_value(); + setup_search(); - debug_flags= ~0UL; + 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; - 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); + printf("route value is %g\n", val); + } else if (!strcmp(arg,"search")) { + max_dist= atoi(*++argv); + while ((arg= *++argv)) + search(atoi(arg)); + } else { + abort(); } - value_route(ni, ia); return 0; }