chiark / gitweb /
routesearch: permit approxiation by disregarding trivial trades
[ypp-sc-tools.db-live.git] / yarrg / rsmain.c
index 2e1c500308658ed53c60a49e7b9fc3f64590a268..2a172c9d95999fe91ef0537807383bd5d7a92d05 100644 (file)
@@ -7,7 +7,7 @@
 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 max_dist=-1, min_trade_maxprofit=0;
 
 FILE *debug_file;
 FILE *output;
@@ -30,6 +30,7 @@ int main(int argc, const char **argv) {
   const char *arg;
   int i, ap;
   int granui;
+  const char *database=0;
 
 #ifndef debug_flags
   debug_flags= ~( dbg_sql2 );
@@ -38,14 +39,18 @@ int main(int argc, const char **argv) {
   for (;;) {
     arg= *++argv;
     if (arg[0] != '-') break;
+    if (!strcmp(arg,"-d")) {
+      database= *++argv;
+    } else if (!strcmp(arg,"-g")) {
+      granus= atoi(*++argv);
+      assert(granus>=1 && granus<=GRANUS);
 #ifndef debug_flags
-    if (!strcmp(arg,"-DN")) {
+    } else if (!strcmp(arg,"-DN")) {
       debug_flags= 0;
     } else if (!strcmp(arg,"-D1")) {
       debug_flags= ~(dbg_sql2|dbg_lp|dbg_value2);
-    } else
+    } else {
 #endif
-    {
       abort();
     }
   }
@@ -77,8 +82,6 @@ int main(int argc, const char **argv) {
     debug_file= stderr;
   }
 
-  const char *database= *argv++;
-
   sysassert( !setvbuf(debug,0,_IOLBF,0) );
 
   max_mass= atof(*argv++);
@@ -87,6 +90,8 @@ int main(int argc, const char **argv) {
   double loss_per_league= atof(*argv++);
   distance_loss_factor_per_league= 1.0 - loss_per_league;
 
+  min_trade_maxprofit= atoi(*argv++);
+
   setup_sql(database);
   setup_value();
   setup_search();