|
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.