32#define likely(x) __builtin_expect(!!(x), 1)
33#define unlikely(x) __builtin_expect(!!(x), 0)
34#define force_inline inline __attribute__((always_inline))
35#define no_inline __attribute__((noinline))
36#define __maybe_unused __attribute__((unused))
38#define xglue(x, y) x ## y
39#define glue(x, y) xglue(x, y)
40#define stringify(s) tostring(s)
44#define offsetof(type, field) ((size_t) &((type *)0)->field)
47#define countof(x) (sizeof(x) / sizeof((x)[0]))
51#define container_of(ptr, type, member) ((type *)((uint8_t *)(ptr) - offsetof(type, member)))
54#if !defined(_MSC_VER) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
55#define minimum_length(n) static n
57#define minimum_length(n) n
69void pstrcpy(
char *buf,
int buf_size,
const char *str);
70char *
pstrcat(
char *buf,
int buf_size,
const char *s);
71int strstart(
const char *str,
const char *val,
const char **ptr);
72int has_suffix(
const char *str,
const char *suffix);
75static inline void memcpy_no_ub(
void *dest,
const void *src,
size_t n) {
80static inline int max_int(
int a,
int b)
88static inline int min_int(
int a,
int b)
129static inline int clz32(
unsigned int a)
131 return __builtin_clz(
a);
137 return __builtin_clzll(
a);
141static inline int ctz32(
unsigned int a)
143 return __builtin_ctz(
a);
149 return __builtin_ctzll(
a);
166 return ((
const struct packed_u64 *)tab)->v;
171 return (
int64_t)((
const struct packed_u64 *)tab)->v;
176 ((
struct packed_u64 *)tab)->v = val;
181 return ((
const struct packed_u32 *)tab)->v;
186 return (
int32_t)((
const struct packed_u32 *)tab)->v;
191 ((
struct packed_u32 *)tab)->v = val;
196 return ((
const struct packed_u16 *)tab)->v;
201 return (
int16_t)((
const struct packed_u16 *)tab)->v;
206 ((
struct packed_u16 *)tab)->v = val;
227 return (x >> 8) | (
x << 8);
234 return ((v & 0xff000000) >> 24) | ((v & 0x00ff0000) >> 8) |
235 ((v & 0x0000ff00) << 8) | ((v & 0x000000ff) << 24);
242 return ((v & ((
uint64_t)0xff << (7 * 8))) >> (7 * 8)) |
243 ((v & ((
uint64_t)0xff << (6 * 8))) >> (5 * 8)) |
244 ((v & ((
uint64_t)0xff << (5 * 8))) >> (3 * 8)) |
245 ((v & ((
uint64_t)0xff << (4 * 8))) >> (1 * 8)) |
246 ((v & ((
uint64_t)0xff << (3 * 8))) << (1 * 8)) |
247 ((v & ((
uint64_t)0xff << (2 * 8))) << (3 * 8)) |
248 ((v & ((
uint64_t)0xff << (1 * 8))) << (5 * 8)) |
249 ((v & ((
uint64_t)0xff << (0 * 8))) << (7 * 8));
291 put_u16(s->
buf + s->
size, val);
302 put_u32(s->
buf + s->
size, val);
313 put_u64(s->
buf + s->
size, val);
325static inline void dbuf_set_error(
DynBuf *s)
330#define UTF8_CHAR_LEN_MAX 6
337 return (c >> 11) == (0xD800 >> 11);
342 return (c >> 10) == (0xD800 >> 10);
347 return (c >> 10) == (0xDC00 >> 10);
352 return (c >> 10) - (0x10000 >> 10) + 0xD800;
357 return (c & 0x3FF) | 0xDC00;
362 return 0x10000 + 0x400 * (hi - 0xD800) + (lo - 0xDC00);
365static inline int from_hex(
int c)
367 if (c >=
'0' && c <=
'9')
369 else if (c >=
'A' && c <=
'F')
371 else if (c >=
'a' && c <=
'f')
378 int (*
cmp)(
const void *,
const void *,
void *),
381static inline uint64_t float64_as_uint64(
double d)
391static inline double uint64_as_float64(
uint64_t u64)
401static inline double fromfp16(
uint16_t v)
408 d = uint64_as_float64(((
uint64_t)(v >> 15) << 63) | ((
uint64_t)v1 << (52 - 10)));
418 a = float64_as_uint64(
d);
420 a =
a & 0x7fffffffffffffff;
424 }
else if (
a < 0x3f10000000000000) {
426 if (
a <= 0x3e60000000000000) {
429 shift = 1051 - (
a >> 52);
431 addend = ((
a >> shift) & 1) + (((
uint64_t)1 << (shift - 1)) - 1);
432 v = (
a + addend) >> shift;
436 a -= 0x3f00000000000000;
438 addend = ((
a >> (52 - 10)) & 1) + (((
uint64_t)1 << (52 - 11)) - 1);
439 v = (
a + addend) >> (52 - 10);
444 return v | (sgn << 15);
447static inline int isfp16nan(
uint16_t v)
449 return (v & 0x7FFF) > 0x7C00;
452static inline int isfp16zero(
uint16_t v)
454 return (v & 0x7FFF) == 0;
unsigned char BOOL
Definition stdint.h:37
AU_EXTERN AU_EXPORT void printf(const char *format,...)
Definition stdio.cpp:121
typedef __attribute__
Definition list_sort.h:12
size_t a
Definition main.cpp:156
size_t b
Definition main.cpp:156
int int32_t
Definition acefiex.h:160
unsigned int uint32_t
Definition acefiex.h:163
COMPILER_DEPENDENT_INT64 int64_t
Definition acefiex.h:164
short int int16_t
Definition acefiex.h:159
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
signed char int8_t
Definition acefiex.h:158
void dbuf_init2(DynBuf *s, void *opaque, DynBufReallocFunc *realloc_func)
Definition cutils.c:89
int BOOL
Definition cutils.h:60
@ FALSE
Definition cutils.h:64
@ TRUE
Definition cutils.h:65
char * pstrcat(char *buf, int buf_size, const char *s)
Definition cutils.c:50
int __dbuf_put_u32(DynBuf *s, uint32_t val)
Definition cutils.c:162
void * DynBufReallocFunc(void *opaque, void *ptr, size_t size)
Definition cutils.h:254
int dbuf_claim(DynBuf *s, size_t len)
Definition cutils.c:104
int unicode_from_utf8(const uint8_t *p, int max_len, const uint8_t **pp)
Definition cutils.c:261
int has_suffix(const char *str, const char *suffix)
Definition cutils.c:75
int dbuf_put_self(DynBuf *s, size_t offset, size_t len)
Definition cutils.c:141
void dbuf_init(DynBuf *s)
Definition cutils.c:98
int const char void dbuf_free(DynBuf *s)
Definition cutils.c:204
int dbuf_putstr(DynBuf *s, const char *str)
Definition cutils.c:172
int __dbuf_put_u16(DynBuf *s, uint16_t val)
Definition cutils.c:157
int unicode_to_utf8(uint8_t *buf, unsigned int c)
Definition cutils.c:216
int __dbuf_put_u64(DynBuf *s, uint64_t val)
Definition cutils.c:167
void rqsort(void *base, size_t nmemb, size_t size, int(*cmp)(const void *, const void *, void *), void *arg)
int const char * fmt
Definition cutils.h:320
#define unlikely(x)
Definition cutils.h:33
int strstart(const char *str, const char *val, const char **ptr)
Definition cutils.c:59
int dbuf_put(DynBuf *s, const uint8_t *data, size_t len)
Definition cutils.c:130
void pstrcpy(char *buf, int buf_size, const char *str)
Definition cutils.c:32
int __dbuf_putc(DynBuf *s, uint8_t c)
Definition cutils.c:152
size_t size
Definition drm_bridge.h:1299
size_t size_t offset
Definition drm_bridge.h:1299
const char const char * format
Definition drm_print.h:516
struct i915_user_extension base
Definition i915_drm.h:0
size_t len
Definition initial.c:23
void * data
Definition kthread.h:30
int x
Definition layout.c:118
#define d
Definition libunicode.c:1833
uint64_t u64
Definition kernel.h:17
int const struct list_head const struct list_head struct list_head list_cmp_func_t cmp
Definition list_sort.h:13
size_t size
Definition cutils.h:258
BOOL error
Definition cutils.h:260
size_t allocated_size
Definition cutils.h:259
uint8_t * buf
Definition cutils.h:257
void * opaque
Definition cutils.h:262
DynBufReallocFunc * realloc_func
Definition cutils.h:261