X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Frscommon.h;h=f02ffc0a4e6fc440592466d37f9405afd69ca133;hb=388e806e8cded8d8ff1d3aff2a5a0ac92be56edf;hp=5da0721dbec588b8d004e7d2c2f4110de01c238e;hpb=447921b45575ec3c98cff70183fccb2f16326df4;p=ypp-sc-tools.db-live.git diff --git a/yarrg/rscommon.h b/yarrg/rscommon.h index 5da0721..f02ffc0 100644 --- a/yarrg/rscommon.h +++ b/yarrg/rscommon.h @@ -30,17 +30,18 @@ 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) \ - CTR(newbests_strat_absolute) \ - CTR(newbests_strat_perleague) \ + CTRA(newbests_granu,2) \ CTR(subroute_tails_valued) \ CTR(subroutes_valued) \ CTR(subroutes_nonempty) -#define CTR(x) extern int ctr_##x; +#define CTR(x) extern int ctr_##x; +#define CTRA(x,n) extern int ctr_##x[n]; COUNTER_LIST #undef CTR +#undef CTRA #define SQL_MUST( call ) ({ \ /* `call' is an expression returning result, using const char *sqe; \ @@ -97,7 +98,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 { @@ -111,15 +112,21 @@ IslandPair *ipair_get_maybe(int si, int di); double value_route(int nislands, const int *islands, int exclude_arbitrage); void setup_value(void); +#define AP 2 /* 0=absolute, 1=perleague */ +#define A 0 +#define P 1 + typedef struct { - double absolute, perleague; - int absolute_ports[MAX_ROUTELEN], perleague_ports[MAX_ROUTELEN]; + double value[AP]; + int ports[AP][MAX_ROUTELEN]; } PotentialResult; +#define GRANUS 3 + void setup_search(void); void search(int start_isle, int final_isle /* -1 means any */, - PotentialResult ****strat_base_io - /* strat_base[finalarch][midarch]-> */); + PotentialResult ****buckets_base_io[GRANUS] + /* bucket_base[granui][finalthing][midthing]-> */); extern double max_mass, max_volu, max_capi; extern double distance_loss_factor_per_league; @@ -133,6 +140,8 @@ extern int narches; extern char **archnames; extern int *islandid2arch; +extern int granusz_fin[GRANUS], granusz_mid[GRANUS]; + extern FILE *output; @@ -156,9 +165,9 @@ typedef struct { PotentialResult *pr; } HighScoreEntry; -extern int nhighscores_absolute, nhighscores_perleague; -extern HighScoreEntry *highscores_absolute; -extern HighScoreEntry *highscores_perleague; +extern int mingranu; +extern int nhighscores[GRANUS][AP]; +extern HighScoreEntry *highscores[GRANUS][AP]; #define ONDEMAND(pointer_lvalue, calloc_size_count) \