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