New (faster) representation for tags added; faster construction of parentheses
[SXSI/XMLTree.git] / libcds / src / basics.h
index 9c88ad2..6412228 100644 (file)
@@ -1,5 +1,5 @@
 /* basics.h
- * Copyright (C) 2008, Rodrigo Gonzalez & Francisco Claude, all rights reserved.
+ * Copyright (C) 2005, Rodrigo Gonzalez, all rights reserved.
  *
  * Some preliminary stuff
  *
 #ifndef _BASICS_H
 #define        _BASICS_H
 
+#include <sys/types.h>
+#include <sys/resource.h>
+#include <sys/times.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <iostream>
 #include <iostream>
 using namespace std;
 #include <cstdlib>
@@ -131,7 +139,10 @@ inline uint bits(uint n){
 #define bitclean(e,p) ((e)[(p)/W] &= ~(1<<((p)%W)))
 
 /** uints required to represent e integers of n bits each */
-#define uint_len(e,n) (((e)*(n))/W+(((e)*(n))%W > 0))
+//#define uint_len(e,n) (((e)*(n))/W+(((e)*(n))%W > 0))
+inline uint uint_len(uint e, uint n) {
+  return ((unsigned long long)e*n/W+((unsigned long long)e*n%W>0));
+}
 
 /** Retrieve a given index from array A where every value uses len bits
  * @param A Array