X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=blobdiff_plain;f=yarrg%2Frscommon.h;h=1e6679db087035d3a8e7e9da964a94fa94f1ef45;hp=ab92fa587af412b890db8cafccc0976baa9e4093;hb=6a0ab469d7d4fbd3cc8c3d4a031d9102b222e384;hpb=d66f27768708df0b8ce256e2d868ff4f7060ef3f diff --git a/yarrg/rscommon.h b/yarrg/rscommon.h index ab92fa5..1e6679d 100644 --- a/yarrg/rscommon.h +++ b/yarrg/rscommon.h @@ -7,12 +7,15 @@ DF(sql) \ DF(sql2) \ DF(value) \ + DF(value2) \ DF(search) \ DF(filter) \ DF(check) \ DF(tableau) \ DF(lp) +//#define debug_flags 0 + #define debug debug_file #include "common.h" @@ -21,6 +24,8 @@ extern FILE *debug_file; #define DEBUG_DEV "/dev/stdout" /* just for glpk */ +#define GRANUS 3 + #define COUNTER_LIST \ CTR(commodities_loaded) \ CTR(trades_loaded) \ @@ -30,10 +35,10 @@ extern FILE *debug_file; CTR(routes_considered) \ CTR(routes_wrongfinalelim) \ CTR(routes_quickelim) \ - CTR(routes_stratelim) \ + CTR(routes_bucketelim) \ CTR(routes_valued) \ CTR(routes_wrongfinal) \ - CTRA(newbests_strat,2) \ + CTRA(newbests_granu,GRANUS*2) \ CTR(subroute_tails_valued) \ CTR(subroutes_valued) \ CTR(subroutes_nonempty) @@ -98,7 +103,7 @@ void sql_bind(sqlite3_stmt *ss, int index, int value, extern sqlite3 *db; -void setup_sql(void); +void setup_sql(const char *database); typedef struct { @@ -118,17 +123,21 @@ void setup_value(void); typedef struct { double value[AP]; - int ports[AP][MAX_ROUTELEN]; -} PotentialResult; + int ports[MAX_ROUTELEN]; +} OnePotentialResult; + +typedef struct { + OnePotentialResult prs[AP]; +} Bucket; void setup_search(void); void search(int start_isle, int final_isle /* -1 means any */, - PotentialResult ****strat_base_io - /* strat_base[finalarch][midarch]-> */); + Bucket ****buckets_base_io[GRANUS] + /* bucket_base[granui][finalthing][midthing]-> */); extern double max_mass, max_volu, max_capi; extern double distance_loss_factor_per_league; -extern int max_dist; +extern int max_dist, min_trade_maxprofit; #define LOSS_FACTOR_PER_DELAY_SLOT (1-1e-8) @@ -138,6 +147,8 @@ extern int narches; extern char **archnames; extern int *islandid2arch; +extern int granusz_fin[GRANUS], granusz_mid[GRANUS]; + extern FILE *output; @@ -158,11 +169,12 @@ extern FILE *output; typedef struct { double value; - PotentialResult *pr; + Bucket *bucket; } HighScoreEntry; -extern int nhighscores[AP]; -extern HighScoreEntry *highscores[AP]; +extern int granus; +extern int nhighscores[GRANUS][AP]; +extern HighScoreEntry *highscores[GRANUS][AP]; #define ONDEMAND(pointer_lvalue, calloc_size_count) \