X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=para.h;h=305707da8d5194856fe34c520428dd8410843997;hp=09132432bfb56c8cb8aaa0577a87437e82151981;hb=fd62cf6f3c17ec9f504d3a05be4fd48f969dcb01;hpb=f393aab6b6e8c7413c02b4e198666ad95570066c diff --git a/para.h b/para.h index 09132432..305707da 100644 --- a/para.h +++ b/para.h @@ -49,70 +49,6 @@ typeof(x) _x = (x); \ _x > 0? _x : -_x; }) -/** Debug loglevel, gets really noisy. */ -#define LL_DEBUG 0 -/** Still noisy, but won't fill your disk. */ -#define LL_INFO 1 -/** Normal, but significant event. */ -#define LL_NOTICE 2 -/** Unexpected event that can be handled. */ -#define LL_WARNING 3 -/** Unhandled error condition. */ -#define LL_ERROR 4 -/** System might be unreliable. */ -#define LL_CRIT 5 -/** Last message before exit. */ -#define LL_EMERG 6 -/** Number of all loglevels. */ -#define NUM_LOGLEVELS 7 - -/** Log messages with lower priority than that will not be compiled in. */ -#define COMPILE_TIME_LOGLEVEL 0 - -/** \cond */ -#if LL_DEBUG >= COMPILE_TIME_LOGLEVEL -#define PARA_DEBUG_LOG(f,...) para_log(LL_DEBUG, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_DEBUG_LOG(...) do {;} while (0) -#endif - -#if LL_INFO >= COMPILE_TIME_LOGLEVEL -#define PARA_INFO_LOG(f,...) para_log(LL_INFO, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_INFO_LOG(...) do {;} while (0) -#endif - -#if LL_NOTICE >= COMPILE_TIME_LOGLEVEL -#define PARA_NOTICE_LOG(f,...) para_log(LL_NOTICE, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_NOTICE_LOG(...) do {;} while (0) -#endif - -#if LL_WARNING >= COMPILE_TIME_LOGLEVEL -#define PARA_WARNING_LOG(f,...) para_log(LL_WARNING, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_WARNING_LOG(...) do {;} while (0) -#endif - -#if LL_ERROR >= COMPILE_TIME_LOGLEVEL -#define PARA_ERROR_LOG(f,...) para_log(LL_ERROR, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_ERROR_LOG(...) do {;} while (0) -#endif - -#if LL_CRIT >= COMPILE_TIME_LOGLEVEL -#define PARA_CRIT_LOG(f,...) para_log(LL_CRIT, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_CRIT_LOG(...) do {;} while (0) -#endif - -#if LL_EMERG >= COMPILE_TIME_LOGLEVEL -#define PARA_EMERG_LOG(f,...) para_log(LL_EMERG, "%s: " f, __FUNCTION__, ## __VA_ARGS__) -#else -#define PARA_EMERG_LOG(...) -#endif -/** \endcond */ - /** * define a standard log function that always writes to stderr * @@ -229,9 +165,9 @@ _static_inline_ long int para_random(unsigned max) return ((max + 0.0) * (random() / (RAND_MAX + 1.0))); } -/** Round up x to a multiple of y */ -#define ROUND_UP(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) - +#define DIV_ROUND_UP(x, y) ({ \ + typeof(y) _divisor = y; \ + ((x) + _divisor - 1) / _divisor; }) /** Get the size of an array */ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) @@ -283,3 +219,67 @@ _static_inline_ long int para_random(unsigned max) enum sample_format {SAMPLE_FORMATS}; #undef SAMPLE_FORMAT #define SAMPLE_FORMAT(a, b) b + +/** Debug loglevel, gets really noisy. */ +#define LL_DEBUG 0 +/** Still noisy, but won't fill your disk. */ +#define LL_INFO 1 +/** Normal, but significant event. */ +#define LL_NOTICE 2 +/** Unexpected event that can be handled. */ +#define LL_WARNING 3 +/** Unhandled error condition. */ +#define LL_ERROR 4 +/** System might be unreliable. */ +#define LL_CRIT 5 +/** Last message before exit. */ +#define LL_EMERG 6 +/** Number of all loglevels. */ +#define NUM_LOGLEVELS 7 + +/** Log messages with lower priority than that will not be compiled in. */ +#define COMPILE_TIME_LOGLEVEL 0 + +/** \cond */ +#if LL_DEBUG >= COMPILE_TIME_LOGLEVEL +#define PARA_DEBUG_LOG(f,...) para_log(LL_DEBUG, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_DEBUG_LOG(...) do {;} while (0) +#endif + +#if LL_INFO >= COMPILE_TIME_LOGLEVEL +#define PARA_INFO_LOG(f,...) para_log(LL_INFO, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_INFO_LOG(...) do {;} while (0) +#endif + +#if LL_NOTICE >= COMPILE_TIME_LOGLEVEL +#define PARA_NOTICE_LOG(f,...) para_log(LL_NOTICE, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_NOTICE_LOG(...) do {;} while (0) +#endif + +#if LL_WARNING >= COMPILE_TIME_LOGLEVEL +#define PARA_WARNING_LOG(f,...) para_log(LL_WARNING, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_WARNING_LOG(...) do {;} while (0) +#endif + +#if LL_ERROR >= COMPILE_TIME_LOGLEVEL +#define PARA_ERROR_LOG(f,...) para_log(LL_ERROR, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_ERROR_LOG(...) do {;} while (0) +#endif + +#if LL_CRIT >= COMPILE_TIME_LOGLEVEL +#define PARA_CRIT_LOG(f,...) para_log(LL_CRIT, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_CRIT_LOG(...) do {;} while (0) +#endif + +#if LL_EMERG >= COMPILE_TIME_LOGLEVEL +#define PARA_EMERG_LOG(f,...) para_log(LL_EMERG, "%s: " f, __FUNCTION__, ## __VA_ARGS__) +#else +#define PARA_EMERG_LOG(...) +#endif +/** \endcond */