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