12 #define MAX(a,b) ( ((a)>(b)) ? (a) : (b) )
16 #define MIN(a,b) ( ((a)<(b)) ? (a) : (b) )
21 #define MIN_POS(a,b) ((a) < 0 ? (b) : ((b) < 0 ? (a) : MIN((a), (b))))
25 #define ABS(x) ( ((x)>=0) ? (x) : (-(x)) )
28 #define DIV_INT_ROUND_UP(a, b) ((__typeof__(a)) ((int64_t) (((((double) (a)) + ((double) (b)) - 1) / (b)))))
31 #define MEGA (KILO*KILO)
32 #define GIGA (KILO*MEGA)
33 #define TERA (KILO*GIGA)
34 #define PETA (KILO*TERA)
42 #define BYTES_TO_STORAGE_UNIT(x, unit) (ceil(((double) x) / unit))
43 #define BYTES_TO_KILOBYTES(x) BYTES_TO_STORAGE_UNIT(x, KILOBYTE)
44 #define BYTES_TO_MEGABYTES(x) BYTES_TO_STORAGE_UNIT(x, MEGABYTE)
45 #define BYTES_TO_GIGABYTES(x) BYTES_TO_STORAGE_UNIT(x, GIGABYTE)
46 #define BYTES_TO_TERABYTES(x) BYTES_TO_STORAGE_UNIT(x, TERABYTE)
47 #define BYTES_TO_PETABYTES(x) BYTES_TO_STORAGE_UNIT(x, PETABYTE)
49 #define USECOND 1000000