Go to the source code of this file.
|
#define | CLIB_UNIX |
|
#define | NULL ((void *) 0) |
|
#define | BITS(x) (8*sizeof(x)) |
|
#define | ARRAY_LEN(x) (sizeof (x)/sizeof (x[0])) |
|
#define | STRUCT_OFFSET_OF(t, f) ((uword) & _STRUCT_FIELD (t, f)) |
|
#define | STRUCT_BIT_OFFSET_OF(t, f) (BITS(u8) * (uword) & _STRUCT_FIELD (t, f)) |
|
#define | STRUCT_SIZE_OF(t, f) (sizeof (_STRUCT_FIELD (t, f))) |
|
#define | STRUCT_BITS_OF(t, f) (BITS (_STRUCT_FIELD (t, f))) |
|
#define | STRUCT_ARRAY_LEN(t, f) ARRAY_LEN (_STRUCT_FIELD (t, f)) |
|
#define | STRUCT_MARK(mark) u8 mark[0] |
|
#define | STRUCT_MARK_PTR(v, f) &(v)->f |
|
#define | STRUCT_STRIDE_OF(t, f) |
|
#define | STRUCT_OFFSET_OF_VAR(v, f) ((uword) (&(v)->f) - (uword) (v)) |
|
#define | CLIB_PACKED(x) x __attribute__ ((packed)) |
|
#define | CLIB_UNUSED(x) x __attribute__ ((unused)) |
|
#define | CLIB_STRING_MACRO(x) #x |
|
#define | never_inline __attribute__ ((__noinline__)) |
|
#define | always_inline static inline |
|
#define | static_always_inline static inline |
|
#define | u8 pad_from[(to) - (from)] u8 pad_##from[(to) - (from)] |
| Padding. More...
|
|
#define | PREDICT_FALSE(x) __builtin_expect((x),0) |
|
#define | PREDICT_TRUE(x) __builtin_expect((x),1) |
|
#define | CLIB_MEMORY_BARRIER() __sync_synchronize () |
|
#define | CLIB_MEMORY_STORE_BARRIER() __builtin_ia32_sfence () |
|
#define | INIT_FUNCTION(decl) |
|
#define | EXIT_FUNCTION(decl) |
|
#define | count_leading_zeros(x) __builtin_clzl (x) |
|
#define | count_trailing_zeros(x) __builtin_ctzl (x) |
|
#define | clib_max(x, y) |
|
#define | clib_min(x, y) |
|
#define | clib_abs(x) |
|
#define always_inline static inline |
#define ARRAY_LEN |
( |
|
x | ) |
(sizeof (x)/sizeof (x[0])) |
#define BITS |
( |
|
x | ) |
(8*sizeof(x)) |
Value:({ \
__typeof__ (x) _x = (x); \
_x < 0 ? -_x : _x; \
})
Definition at line 298 of file clib.h.
#define clib_max |
( |
|
x, |
|
|
|
y |
|
) |
| |
Value:({ \
__typeof__ (x) _x = (x); \
__typeof__ (y) _y = (y); \
_x > _y ? _x : _y; \
})
Definition at line 284 of file clib.h.
#define CLIB_MEMORY_BARRIER |
( |
| ) |
__sync_synchronize () |
#define CLIB_MEMORY_STORE_BARRIER |
( |
| ) |
__builtin_ia32_sfence () |
#define clib_min |
( |
|
x, |
|
|
|
y |
|
) |
| |
Value:({ \
__typeof__ (x) _x = (x); \
__typeof__ (y) _y = (y); \
_x < _y ? _x : _y; \
})
Definition at line 291 of file clib.h.
#define CLIB_PACKED |
( |
|
x | ) |
x __attribute__ ((packed)) |
#define CLIB_STRING_MACRO |
( |
|
x | ) |
#x |
#define CLIB_UNUSED |
( |
|
x | ) |
x __attribute__ ((unused)) |
#define count_leading_zeros |
( |
|
x | ) |
__builtin_clzl (x) |
#define count_trailing_zeros |
( |
|
x | ) |
__builtin_ctzl (x) |
#define EXIT_FUNCTION |
( |
|
decl | ) |
|
Value:decl __attribute ((destructor)); \
decl
Definition at line 125 of file clib.h.
#define INIT_FUNCTION |
( |
|
decl | ) |
|
Value:decl __attribute ((constructor)); \
decl
Definition at line 120 of file clib.h.
#define never_inline __attribute__ ((__noinline__)) |
#define NULL ((void *) 0) |
#define PREDICT_FALSE |
( |
|
x | ) |
__builtin_expect((x),0) |
#define PREDICT_TRUE |
( |
|
x | ) |
__builtin_expect((x),1) |
#define static_always_inline static inline |
#define STRUCT_ARRAY_LEN |
( |
|
t, |
|
|
|
f |
|
) |
| ARRAY_LEN (_STRUCT_FIELD (t, f)) |
#define STRUCT_BIT_OFFSET_OF |
( |
|
t, |
|
|
|
f |
|
) |
| (BITS(u8) * (uword) & _STRUCT_FIELD (t, f)) |
#define STRUCT_BITS_OF |
( |
|
t, |
|
|
|
f |
|
) |
| (BITS (_STRUCT_FIELD (t, f))) |
#define STRUCT_MARK |
( |
|
mark | ) |
u8 mark[0] |
#define STRUCT_MARK_PTR |
( |
|
v, |
|
|
|
f |
|
) |
| &(v)->f |
#define STRUCT_OFFSET_OF |
( |
|
t, |
|
|
|
f |
|
) |
| ((uword) & _STRUCT_FIELD (t, f)) |
#define STRUCT_OFFSET_OF_VAR |
( |
|
v, |
|
|
|
f |
|
) |
| ((uword) (&(v)->f) - (uword) (v)) |
#define STRUCT_SIZE_OF |
( |
|
t, |
|
|
|
f |
|
) |
| (sizeof (_STRUCT_FIELD (t, f))) |
#define STRUCT_STRIDE_OF |
( |
|
t, |
|
|
|
f |
|
) |
| |
Value:( ((
uword) & (((t *) 0)[1].f)) \
- ((
uword) & (((t *) 0)[0].f)))
Definition at line 73 of file clib.h.
#define u8 pad_from[(to) - (from)] u8 pad_##from[(to) - (from)] |
Padding.
Definition at line 104 of file clib.h.
static f64 flt_round_down |
( |
f64 |
x | ) |
|
|
inlinestatic |
static word flt_round_nearest |
( |
f64 |
x | ) |
|
|
inlinestatic |
static f64 flt_round_to_multiple |
( |
f64 |
x, |
|
|
f64 |
f |
|
) |
| |
|
inlinestatic |
static u64 min_log2_u64 |
( |
u64 |
x | ) |
|
|
inlinestatic |
static u64 round_pow2_u64 |
( |
u64 |
x, |
|
|
u64 |
pow2 |
|
) |
| |
|
inlinestatic |