#include "common.h"
+#define COUNTER_LIST \
+ CTR(commodities_loaded) \
+ CTR(trades_loaded) \
+ CTR(quantities_loaded) \
+ CTR(routes_considered) \
+ CTR(routes_eliminated) \
+ CTR(routes_valued) \
+ CTR(subroute_tails_valued) \
+ CTR(subroutes_valued) \
+ CTR(subroutes_nonempty)
+#define CTR(x) extern int ctr_##x;
+ COUNTER_LIST
+#undef CTR
+
#define SQL_MUST( call ) ({ \
/* `call' is an expression returning result, using const char *sqe; \
* chk1 and chk2 are blocks using sqe and int sqr; */ \
typedef struct {
double distance_loss_factor;
- int ntrades;
struct TradesBlock *trades;
double route_tail_value;
} IslandPair;
-IslandPair *ipair_get(int si, int di);
+IslandPair *ipair_get_maybe(int si, int di);
double value_route(int nislands, const int *islands, int exclude_arbitrage);
void setup_value(void);