chiark / gitweb /
routesearch: New macros NEW MCALLOC MCALLOC_INITEACH
[ypp-sc-tools.web-live.git] / yarrg / rscommon.h
index 873ff30810f708bf7282ebcdcc0f21c828dcb3b1..5cbf5b77b0cf84cdce30526713169ecf2cca94a7 100644 (file)
@@ -108,7 +108,7 @@ typedef struct {
 
 void setup_search(void);
 void search(int start_isle, PotentialResult ****strat_base_io
-                                /* strat_base[finalisle][midisle]-> */);
+                                /* strat_base[finalarch][midarch]-> */);
 
 extern double max_mass, max_volu, max_capi;
 extern double distance_loss_factor_per_league;
@@ -118,6 +118,24 @@ extern int max_dist;
 
 extern int islandtablesz;
 
+extern int narches;
+extern char **archnames;
+extern int *islandid2arch;
+
+
+#define NEW(ptr) ((ptr)= mmalloc(sizeof(*ptr)))
+
+#define MCALLOC(array, count) ((array)= mcalloc(sizeof(*(array)) * (count)))
+
+#define MCALLOC_INITEACH(array, count, init_this) ({                   \
+    MCALLOC((array), (count));                                         \
+    int initi;                                                         \
+    typeof(&(array)[0]) this;                                          \
+    for (initi=0, this=(array); initi<(count); initi++, this++) {      \
+      init_this;                                                       \
+    }                                                                  \
+  })
+
 
 #define ONDEMAND(pointer_lvalue, calloc_size_count)                         \
   ((pointer_lvalue) ? :                                                             \