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