| include/Zycore/Defines.h(3) | Library Functions Manual | include/Zycore/Defines.h(3) |
include/Zycore/Defines.h
#include <assert.h>
#define ZYAN_MACRO_CONCAT(x, y) x ## y
#define ZYAN_MACRO_CONCAT_EXPAND(x, y) ZYAN_MACRO_CONCAT(x, y)
#define ZYAN_UNKNOWN_COMPILER
#define ZYAN_UNKNOWN_PLATFORM
#define ZYAN_USER
#define ZYAN_RELEASE
#define ZYAN_DEPRECATED
#define ZYAN_DLLEXPORT
#define ZYAN_DLLIMPORT
#define ZYCORE_EXPORT ZYAN_DLLIMPORT
#define ZYCORE_NO_EXPORT
#define ZYAN_NO_SANITIZE(what)
#define ZYAN_INLINE static inline
#define ZYAN_NOINLINE
#define ZYAN_ASSERT(condition) assert(condition)
#define ZYAN_STATIC_ASSERT(x) typedef int
ZYAN_MACRO_CONCAT_EXPAND(ZYAN_SASSERT_, __COUNTER__) [(x) ? 1 : -1]
#define ZYAN_UNREACHABLE for(;;)
#define ZYAN_UNUSED(x) (void)(x)
#define ZYAN_FALLTHROUGH
#define ZYAN_BITFIELD(x) : x
#define ZYAN_REQUIRES_LIBC
#define ZYAN_PRINTF_ATTR(format_index, first_to_check)
#define ZYAN_WPRINTF_ATTR(format_index, first_to_check)
#define ZYAN_ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0]))
#define ZYAN_MIN(a, b) (((a) < (b)) ? (a) : (b))
#define ZYAN_MAX(a, b) (((a) > (b)) ? (a) : (b))
#define ZYAN_ABS(a) (((a) < 0) ? -(a) : (a))
#define ZYAN_IS_POWER_OF_2(x) (((x) & ((x) - 1)) == 0)
#define ZYAN_IS_ALIGNED_TO(x, align) (((x) & ((align) - 1)) == 0)
#define ZYAN_ALIGN_UP(x, align) (((x) + (align) - 1) & ~((align) -
1))
#define ZYAN_ALIGN_DOWN(x, align) (((x) - 1) & ~((align) - 1))
#define ZYAN_DIV64(n, divisor) (n /= divisor)
#define ZYAN_NEEDS_BIT(n, b) (((unsigned long)(n) >> (b)) > 0)
#define ZYAN_BITS_TO_REPRESENT(n)
General helper and platform detection macros.
Returns the absolute value of a.
Parameters
Returns
Aligns the value to the nearest given alignment boundary (by rounding it down).
Parameters
Returns
Note that this macro only works for powers of 2.
Aligns the value to the nearest given alignment boundary (by rounding it up).
Parameters
Returns
Note that this macro only works for powers of 2.
Returns the length (number of elements) of an array.
Parameters
Returns
Runtime debug assertion.
Declares a bitfield.
Parameters
Value:.PP
( \
ZYAN_NEEDS_BIT(n, 0) + ZYAN_NEEDS_BIT(n, 1) + \
ZYAN_NEEDS_BIT(n, 2) + ZYAN_NEEDS_BIT(n, 3) + \
ZYAN_NEEDS_BIT(n, 4) + ZYAN_NEEDS_BIT(n, 5) + \
ZYAN_NEEDS_BIT(n, 6) + ZYAN_NEEDS_BIT(n, 7) + \
ZYAN_NEEDS_BIT(n, 8) + ZYAN_NEEDS_BIT(n, 9) + \
ZYAN_NEEDS_BIT(n, 10) + ZYAN_NEEDS_BIT(n, 11) + \
ZYAN_NEEDS_BIT(n, 12) + ZYAN_NEEDS_BIT(n, 13) + \
ZYAN_NEEDS_BIT(n, 14) + ZYAN_NEEDS_BIT(n, 15) + \
ZYAN_NEEDS_BIT(n, 16) + ZYAN_NEEDS_BIT(n, 17) + \
ZYAN_NEEDS_BIT(n, 18) + ZYAN_NEEDS_BIT(n, 19) + \
ZYAN_NEEDS_BIT(n, 20) + ZYAN_NEEDS_BIT(n, 21) + \
ZYAN_NEEDS_BIT(n, 22) + ZYAN_NEEDS_BIT(n, 23) + \
ZYAN_NEEDS_BIT(n, 24) + ZYAN_NEEDS_BIT(n, 25) + \
ZYAN_NEEDS_BIT(n, 26) + ZYAN_NEEDS_BIT(n, 27) + \
ZYAN_NEEDS_BIT(n, 28) + ZYAN_NEEDS_BIT(n, 29) + \
ZYAN_NEEDS_BIT(n, 30) + ZYAN_NEEDS_BIT(n, 31) \
)
Divide the 64bit integer value by the given divisor.
Parameters
Intentional fallthrough.
Checks, if the given value is properly aligned.
Note that this macro only works for powers of 2.
Checks, if the given value is a power of 2.
Parameters
Returns
Note that this macro always returns ZYAN_TRUE for x == 0.
Concatenates two values using the stringify operator (##).
Parameters
Returns
Concatenates two values using the stringify operator (##) and expands the value to be used in another macro.
Parameters
Returns
Returns the bigger value of a or b.
Parameters
Returns
Returns the smaller value of a or b.
Parameters
Returns
Decorator for printf-style functions.
Parameters
Marks functions that require libc (cannot be used with ZYAN_NO_LIBC).
Compiler-time assertion.
Marks the current code path as unreachable.
Marks the specified parameter as unused.
Parameters
Decorator for wprintf-style functions.
Parameters
Symbol is exported in shared library builds.
Symbol is not exported and for internal use only.
Generated automatically by Doxygen for Zycore from the source code.
| Version 1.5.2.0 | Zycore |