X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fbasics.h;h=6412228d63d670b4a027039873bc22e99e65fc8f;hb=a9846746dc7a55764591fcc273fd48c6049df962;hp=9c88ad2aa4a26da0cbf7e0a6e148a813e2312574;hpb=efe894650813a19a0e1408eb5807e59f037afc3b;p=SXSI%2FXMLTree.git diff --git a/libcds/src/basics.h b/libcds/src/basics.h index 9c88ad2..6412228 100644 --- a/libcds/src/basics.h +++ b/libcds/src/basics.h @@ -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 * @@ -23,6 +23,14 @@ #ifndef _BASICS_H #define _BASICS_H +#include +#include +#include +#include +#include +#include +#include +#include #include using namespace std; #include @@ -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