Blender
V3.3
|
#include "GHOST_utildefines_variadic.h"
Go to the source code of this file.
Macros | |
Branch Prediction Macros | |
#define | LIKELY(x) (x) |
#define | UNLIKELY(x) (x) |
Array Unpacking Macros | |
#define | UNPACK2(a) ((a)[0]), ((a)[1]) |
#define | UNPACK3(a) UNPACK2(a), ((a)[2]) |
#define | UNPACK4(a) UNPACK3(a), ((a)[3]) |
#define | UNPACK2_EX(pre, a, post) (pre((a)[0]) post), (pre((a)[1]) post) |
#define | UNPACK3_EX(pre, a, post) UNPACK2_EX(pre, a, post), (pre((a)[2]) post) |
#define | UNPACK4_EX(pre, a, post) UNPACK3_EX(pre, a, post), (pre((a)[3]) post) |
Array Macros | |
#define | ARRAY_SIZE(arr) (sizeof(arr) / sizeof(*(arr))) |
Equal to Any Element (ELEM) Macro | |
#define | _VA_ELEM2(v, a) ((v) == (a)) |
#define | _VA_ELEM3(v, a, b) (_VA_ELEM2(v, a) || _VA_ELEM2(v, b)) |
#define | _VA_ELEM4(v, a, b, c) (_VA_ELEM3(v, a, b) || _VA_ELEM2(v, c)) |
#define | _VA_ELEM5(v, a, b, c, d) (_VA_ELEM4(v, a, b, c) || _VA_ELEM2(v, d)) |
#define | _VA_ELEM6(v, a, b, c, d, e) (_VA_ELEM5(v, a, b, c, d) || _VA_ELEM2(v, e)) |
#define | _VA_ELEM7(v, a, b, c, d, e, f) (_VA_ELEM6(v, a, b, c, d, e) || _VA_ELEM2(v, f)) |
#define | _VA_ELEM8(v, a, b, c, d, e, f, g) (_VA_ELEM7(v, a, b, c, d, e, f) || _VA_ELEM2(v, g)) |
#define | _VA_ELEM9(v, a, b, c, d, e, f, g, h) (_VA_ELEM8(v, a, b, c, d, e, f, g) || _VA_ELEM2(v, h)) |
#define | _VA_ELEM10(v, a, b, c, d, e, f, g, h, i) (_VA_ELEM9(v, a, b, c, d, e, f, g, h) || _VA_ELEM2(v, i)) |
#define | _VA_ELEM11(v, a, b, c, d, e, f, g, h, i, j) (_VA_ELEM10(v, a, b, c, d, e, f, g, h, i) || _VA_ELEM2(v, j)) |
#define | _VA_ELEM12(v, a, b, c, d, e, f, g, h, i, j, k) (_VA_ELEM11(v, a, b, c, d, e, f, g, h, i, j) || _VA_ELEM2(v, k)) |
#define | _VA_ELEM13(v, a, b, c, d, e, f, g, h, i, j, k, l) (_VA_ELEM12(v, a, b, c, d, e, f, g, h, i, j, k) || _VA_ELEM2(v, l)) |
#define | _VA_ELEM14(v, a, b, c, d, e, f, g, h, i, j, k, l, m) (_VA_ELEM13(v, a, b, c, d, e, f, g, h, i, j, k, l) || _VA_ELEM2(v, m)) |
#define | _VA_ELEM15(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n) (_VA_ELEM14(v, a, b, c, d, e, f, g, h, i, j, k, l, m) || _VA_ELEM2(v, n)) |
#define | _VA_ELEM16(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (_VA_ELEM15(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n) || _VA_ELEM2(v, o)) |
#define | _VA_ELEM17(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (_VA_ELEM16(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) || _VA_ELEM2(v, p)) |
#define | ELEM(...) VA_NARGS_CALL_OVERLOAD(_VA_ELEM, __VA_ARGS__) |
Clamp Macros | |
#define | CLAMPIS(a, b, c) ((a) < (b) ? (b) : (a) > (c) ? (c) : (a)) |
#define | CLAMP(a, b, c) |
#define | CLAMP_MAX(a, c) |
#define | CLAMP_MIN(a, b) |
#define | CLAMP2(vec, b, c) |
#define | CLAMP2_MIN(vec, b) |
#define | CLAMP2_MAX(vec, b) |
#define | CLAMP3(vec, b, c) |
#define | CLAMP3_MIN(vec, b) |
#define | CLAMP3_MAX(vec, b) |
#define | CLAMP4(vec, b, c) |
#define | CLAMP4_MIN(vec, b) |
#define | CLAMP4_MAX(vec, b) |
Utility defines (avoid depending on BLI_utildefines.h
).
Definition in file GHOST_utildefines.h.
#define _VA_ELEM10 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i | |||
) | (_VA_ELEM9(v, a, b, c, d, e, f, g, h) || _VA_ELEM2(v, i)) |
Definition at line 82 of file GHOST_utildefines.h.
#define _VA_ELEM11 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j | |||
) | (_VA_ELEM10(v, a, b, c, d, e, f, g, h, i) || _VA_ELEM2(v, j)) |
Definition at line 84 of file GHOST_utildefines.h.
#define _VA_ELEM12 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k | |||
) | (_VA_ELEM11(v, a, b, c, d, e, f, g, h, i, j) || _VA_ELEM2(v, k)) |
Definition at line 86 of file GHOST_utildefines.h.
#define _VA_ELEM13 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k, | |||
l | |||
) | (_VA_ELEM12(v, a, b, c, d, e, f, g, h, i, j, k) || _VA_ELEM2(v, l)) |
Definition at line 88 of file GHOST_utildefines.h.
#define _VA_ELEM14 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k, | |||
l, | |||
m | |||
) | (_VA_ELEM13(v, a, b, c, d, e, f, g, h, i, j, k, l) || _VA_ELEM2(v, m)) |
Definition at line 90 of file GHOST_utildefines.h.
#define _VA_ELEM15 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k, | |||
l, | |||
m, | |||
n | |||
) | (_VA_ELEM14(v, a, b, c, d, e, f, g, h, i, j, k, l, m) || _VA_ELEM2(v, n)) |
Definition at line 92 of file GHOST_utildefines.h.
#define _VA_ELEM16 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k, | |||
l, | |||
m, | |||
n, | |||
o | |||
) | (_VA_ELEM15(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n) || _VA_ELEM2(v, o)) |
Definition at line 94 of file GHOST_utildefines.h.
#define _VA_ELEM17 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h, | |||
i, | |||
j, | |||
k, | |||
l, | |||
m, | |||
n, | |||
o, | |||
p | |||
) | (_VA_ELEM16(v, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) || _VA_ELEM2(v, p)) |
Definition at line 96 of file GHOST_utildefines.h.
Definition at line 67 of file GHOST_utildefines.h.
Definition at line 68 of file GHOST_utildefines.h.
Definition at line 70 of file GHOST_utildefines.h.
Definition at line 72 of file GHOST_utildefines.h.
Definition at line 74 of file GHOST_utildefines.h.
Definition at line 76 of file GHOST_utildefines.h.
Definition at line 78 of file GHOST_utildefines.h.
#define _VA_ELEM9 | ( | v, | |
a, | |||
b, | |||
c, | |||
d, | |||
e, | |||
f, | |||
g, | |||
h | |||
) | (_VA_ELEM8(v, a, b, c, d, e, f, g) || _VA_ELEM2(v, h)) |
Definition at line 80 of file GHOST_utildefines.h.
#define ARRAY_SIZE | ( | arr | ) | (sizeof(arr) / sizeof(*(arr))) |
Definition at line 53 of file GHOST_utildefines.h.
#define CLAMP | ( | a, | |
b, | |||
c | |||
) |
Definition at line 111 of file GHOST_utildefines.h.
#define CLAMP2 | ( | vec, | |
b, | |||
c | |||
) |
#define CLAMP2_MAX | ( | vec, | |
b | |||
) |
Definition at line 152 of file GHOST_utildefines.h.
#define CLAMP2_MIN | ( | vec, | |
b | |||
) |
Definition at line 145 of file GHOST_utildefines.h.
#define CLAMP3 | ( | vec, | |
b, | |||
c | |||
) |
#define CLAMP3_MAX | ( | vec, | |
b | |||
) |
#define CLAMP3_MIN | ( | vec, | |
b | |||
) |
#define CLAMP4 | ( | vec, | |
b, | |||
c | |||
) |
#define CLAMP4_MAX | ( | vec, | |
b | |||
) |
#define CLAMP4_MIN | ( | vec, | |
b | |||
) |
#define CLAMP_MAX | ( | a, | |
c | |||
) |
#define CLAMP_MIN | ( | a, | |
b | |||
) |
#define CLAMPIS | ( | a, | |
b, | |||
c | |||
) | ((a) < (b) ? (b) : (a) > (c) ? (c) : (a)) |
Definition at line 109 of file GHOST_utildefines.h.
#define ELEM | ( | ... | ) | VA_NARGS_CALL_OVERLOAD(_VA_ELEM, __VA_ARGS__) |
Definition at line 101 of file GHOST_utildefines.h.
Definition at line 22 of file GHOST_utildefines.h.
Definition at line 23 of file GHOST_utildefines.h.
#define UNPACK2 | ( | a | ) | ((a)[0]), ((a)[1]) |
Definition at line 33 of file GHOST_utildefines.h.
#define UNPACK2_EX | ( | pre, | |
a, | |||
post | |||
) | (pre((a)[0]) post), (pre((a)[1]) post) |
Definition at line 37 of file GHOST_utildefines.h.
Definition at line 34 of file GHOST_utildefines.h.
#define UNPACK3_EX | ( | pre, | |
a, | |||
post | |||
) | UNPACK2_EX(pre, a, post), (pre((a)[2]) post) |
Definition at line 38 of file GHOST_utildefines.h.
Definition at line 35 of file GHOST_utildefines.h.
#define UNPACK4_EX | ( | pre, | |
a, | |||
post | |||
) | UNPACK3_EX(pre, a, post), (pre((a)[3]) post) |
Definition at line 39 of file GHOST_utildefines.h.