00001 #ifndef DEF_NUMUTIL_H 00002 #define DEF_NUMUTIL_H 00003 00004 00010 #include <math.h> 00011 00015 #define logBase2(x)(log(x)/log(2)) 00016 00020 #define round(a) ((int)((a)+0.5)) 00021 00025 #define roundll(a) ((long long)((a)+0.5)) 00026 00027 int roundingScale(int a, int p, int q); 00028 int rangeIntersection(int start1, int end1, int start2, int end2); 00029 int positiveRangeIntersection(int start1, int end1, int start2, int end2); 00030 unsigned byteSwap32(unsigned a); 00031 int digitsBaseTwo(unsigned long x); 00032 int digitsBaseTen(int x); 00033 00034 00035 #endif