//#define logMB 3
#define MB (1<<logMB)
-#define ETW 8 // width of excess lookup table
+#define ETW 8 // width of excess lookup table
#define W1 2 // branching factor
-#ifndef min
- #define min(x,y) ((x)<(y)?(x):(y))
-#endif
-#ifndef max
- #define max(x,y) ((x)>(y)?(x):(y))
-#endif
typedef struct {
void loadTree(bp *b, FILE *fp);
void destroyTree(bp *b);
-int blog(int x);
+
+inline int blog(int x)
+{
+ int l;
+ l = 0;
+ while (x>0) {
+ x>>=1;
+ l++;
+ }
+ return l;
+}
+
pb getpat_preorder(pb *b);
pb getpat_leaf(pb *b);
pb getpat_inorder(pb *b);
extern int depthtbl[(2*ETW+1)*(1<<ETW)];
extern int childtbl2[2*ETW+1][ETW][(1<<ETW)];
+
#endif