|
125 | 125 | #define Z_IS_ENABLED_ANY_31(a, ...) COND_CODE_1(a, (1), (Z_IS_ENABLED_ANY_30(__VA_ARGS__,))) |
126 | 126 | #define Z_IS_ENABLED_ANY_32(a, ...) COND_CODE_1(a, (1), (Z_IS_ENABLED_ANY_31(__VA_ARGS__,))) |
127 | 127 |
|
| 128 | +/* Helper macro for IF_ENABLED_ALL */ |
| 129 | +#define Z_IF_ENABLED_ALL(_code, ...) \ |
| 130 | + Z_IF_ENABLED_ALL_N(NUM_VA_ARGS(__VA_ARGS__), _code, __VA_ARGS__) |
| 131 | +#define Z_IF_ENABLED_ALL_N(N, _code, ...) \ |
| 132 | + UTIL_CAT(Z_IF_ENABLED_ALL_, N)(_code, __VA_ARGS__) |
| 133 | +#define IF_ENABLED_ALL_0(_code, ...) |
| 134 | +#define Z_IF_ENABLED_ALL_1(_code, a, ...) \ |
| 135 | + COND_CODE_1(a, _code, ()) |
| 136 | +#define Z_IF_ENABLED_ALL_2(_code, a, ...) \ |
| 137 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_1(_code, __VA_ARGS__,)), ()) |
| 138 | +#define Z_IF_ENABLED_ALL_3(_code, a, ...) \ |
| 139 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_2(_code, __VA_ARGS__,)), ()) |
| 140 | +#define Z_IF_ENABLED_ALL_4(_code, a, ...) \ |
| 141 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_3(_code, __VA_ARGS__,)), ()) |
| 142 | +#define Z_IF_ENABLED_ALL_5(_code, a, ...) \ |
| 143 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_4(_code, __VA_ARGS__,)), ()) |
| 144 | +#define Z_IF_ENABLED_ALL_6(_code, a, ...) \ |
| 145 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_5(_code, __VA_ARGS__,)), ()) |
| 146 | +#define Z_IF_ENABLED_ALL_7(_code, a, ...) \ |
| 147 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_6(_code, __VA_ARGS__,)), ()) |
| 148 | +#define Z_IF_ENABLED_ALL_8(_code, a, ...) \ |
| 149 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_7(_code, __VA_ARGS__,)), ()) |
| 150 | +#define Z_IF_ENABLED_ALL_9(_code, a, ...) \ |
| 151 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_8(_code, __VA_ARGS__,)), ()) |
| 152 | +#define Z_IF_ENABLED_ALL_10(_code, a, ...) \ |
| 153 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_9(_code, __VA_ARGS__,)), ()) |
| 154 | +#define Z_IF_ENABLED_ALL_11(_code, a, ...) \ |
| 155 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_10(_code, __VA_ARGS__,)), ()) |
| 156 | +#define Z_IF_ENABLED_ALL_12(_code, a, ...) \ |
| 157 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_11(_code, __VA_ARGS__,)), ()) |
| 158 | +#define Z_IF_ENABLED_ALL_13(_code, a, ...) \ |
| 159 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_12(_code, __VA_ARGS__,)), ()) |
| 160 | +#define Z_IF_ENABLED_ALL_14(_code, a, ...) \ |
| 161 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_13(_code, __VA_ARGS__,)), ()) |
| 162 | +#define Z_IF_ENABLED_ALL_15(_code, a, ...) \ |
| 163 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_14(_code, __VA_ARGS__,)), ()) |
| 164 | +#define Z_IF_ENABLED_ALL_16(_code, a, ...) \ |
| 165 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_15(_code, __VA_ARGS__,)), ()) |
| 166 | +#define Z_IF_ENABLED_ALL_17(_code, a, ...) \ |
| 167 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_16(_code, __VA_ARGS__,)), ()) |
| 168 | +#define Z_IF_ENABLED_ALL_18(_code, a, ...) \ |
| 169 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_17(_code, __VA_ARGS__,)), ()) |
| 170 | +#define Z_IF_ENABLED_ALL_19(_code, a, ...) \ |
| 171 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_18(_code, __VA_ARGS__,)), ()) |
| 172 | +#define Z_IF_ENABLED_ALL_20(_code, a, ...) \ |
| 173 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_19(_code, __VA_ARGS__,)), ()) |
| 174 | +#define Z_IF_ENABLED_ALL_21(_code, a, ...) \ |
| 175 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_20(_code, __VA_ARGS__,)), ()) |
| 176 | +#define Z_IF_ENABLED_ALL_22(_code, a, ...) \ |
| 177 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_21(_code, __VA_ARGS__,)), ()) |
| 178 | +#define Z_IF_ENABLED_ALL_23(_code, a, ...) \ |
| 179 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_22(_code, __VA_ARGS__,)), ()) |
| 180 | +#define Z_IF_ENABLED_ALL_24(_code, a, ...) \ |
| 181 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_23(_code, __VA_ARGS__,)), ()) |
| 182 | +#define Z_IF_ENABLED_ALL_25(_code, a, ...) \ |
| 183 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_24(_code, __VA_ARGS__,)), ()) |
| 184 | +#define Z_IF_ENABLED_ALL_26(_code, a, ...) \ |
| 185 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_25(_code, __VA_ARGS__,)), ()) |
| 186 | +#define Z_IF_ENABLED_ALL_27(_code, a, ...) \ |
| 187 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_26(_code, __VA_ARGS__,)), ()) |
| 188 | +#define Z_IF_ENABLED_ALL_28(_code, a, ...) \ |
| 189 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_27(_code, __VA_ARGS__,)), ()) |
| 190 | +#define Z_IF_ENABLED_ALL_29(_code, a, ...) \ |
| 191 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_28(_code, __VA_ARGS__,)), ()) |
| 192 | +#define Z_IF_ENABLED_ALL_30(_code, a, ...) \ |
| 193 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_29(_code, __VA_ARGS__,)), ()) |
| 194 | +#define Z_IF_ENABLED_ALL_31(_code, a, ...) \ |
| 195 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_30(_code, __VA_ARGS__,)), ()) |
| 196 | +#define Z_IF_ENABLED_ALL_32(_code, a, ...) \ |
| 197 | + COND_CODE_1(a, (Z_IF_ENABLED_ALL_31(_code, __VA_ARGS__,)), ()) |
| 198 | + |
| 199 | +/* Helper macro for IF_ENABLED_ANY */ |
| 200 | +#define Z_IF_ENABLED_ANY(_code, ...) \ |
| 201 | + Z_IF_ENABLED_ANY_N(NUM_VA_ARGS(__VA_ARGS__), _code, __VA_ARGS__) |
| 202 | +#define Z_IF_ENABLED_ANY_N(N, _code, ...) \ |
| 203 | + UTIL_CAT(Z_IF_ENABLED_ANY_, N)(_code, __VA_ARGS__) |
| 204 | +#define Z_IF_ENABLED_ANY_0(_code, ...) |
| 205 | +#define Z_IF_ENABLED_ANY_1(_code, a, ...) \ |
| 206 | + COND_CODE_1(a, _code, ()) |
| 207 | +#define Z_IF_ENABLED_ANY_2(_code, a, ...) \ |
| 208 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_1(_code, __VA_ARGS__,))) |
| 209 | +#define Z_IF_ENABLED_ANY_3(_code, a, ...) \ |
| 210 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_2(_code, __VA_ARGS__,))) |
| 211 | +#define Z_IF_ENABLED_ANY_4(_code, a, ...) \ |
| 212 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_3(_code, __VA_ARGS__,))) |
| 213 | +#define Z_IF_ENABLED_ANY_5(_code, a, ...) \ |
| 214 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_4(_code, __VA_ARGS__,))) |
| 215 | +#define Z_IF_ENABLED_ANY_6(_code, a, ...) \ |
| 216 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_5(_code, __VA_ARGS__,))) |
| 217 | +#define Z_IF_ENABLED_ANY_7(_code, a, ...) \ |
| 218 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_6(_code, __VA_ARGS__,))) |
| 219 | +#define Z_IF_ENABLED_ANY_8(_code, a, ...) \ |
| 220 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_7(_code, __VA_ARGS__,))) |
| 221 | +#define Z_IF_ENABLED_ANY_9(_code, a, ...) \ |
| 222 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_8(_code, __VA_ARGS__,))) |
| 223 | +#define Z_IF_ENABLED_ANY_10(_code, a, ...) \ |
| 224 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_9(_code, __VA_ARGS__,))) |
| 225 | +#define Z_IF_ENABLED_ANY_11(_code, a, ...) \ |
| 226 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_10(_code, __VA_ARGS__,))) |
| 227 | +#define Z_IF_ENABLED_ANY_12(_code, a, ...) \ |
| 228 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_11(_code, __VA_ARGS__,))) |
| 229 | +#define Z_IF_ENABLED_ANY_13(_code, a, ...) \ |
| 230 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_12(_code, __VA_ARGS__,))) |
| 231 | +#define Z_IF_ENABLED_ANY_14(_code, a, ...) \ |
| 232 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_13(_code, __VA_ARGS__,))) |
| 233 | +#define Z_IF_ENABLED_ANY_15(_code, a, ...) \ |
| 234 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_14(_code, __VA_ARGS__,))) |
| 235 | +#define Z_IF_ENABLED_ANY_16(_code, a, ...) \ |
| 236 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_15(_code, __VA_ARGS__,))) |
| 237 | +#define Z_IF_ENABLED_ANY_17(_code, a, ...) \ |
| 238 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_16(_code, __VA_ARGS__,))) |
| 239 | +#define Z_IF_ENABLED_ANY_18(_code, a, ...) \ |
| 240 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_17(_code, __VA_ARGS__,))) |
| 241 | +#define Z_IF_ENABLED_ANY_19(_code, a, ...) \ |
| 242 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_18(_code, __VA_ARGS__,))) |
| 243 | +#define Z_IF_ENABLED_ANY_20(_code, a, ...) \ |
| 244 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_19(_code, __VA_ARGS__,))) |
| 245 | +#define Z_IF_ENABLED_ANY_21(_code, a, ...) \ |
| 246 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_20(_code, __VA_ARGS__,))) |
| 247 | +#define Z_IF_ENABLED_ANY_22(_code, a, ...) \ |
| 248 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_21(_code, __VA_ARGS__,))) |
| 249 | +#define Z_IF_ENABLED_ANY_23(_code, a, ...) \ |
| 250 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_22(_code, __VA_ARGS__,))) |
| 251 | +#define Z_IF_ENABLED_ANY_24(_code, a, ...) \ |
| 252 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_23(_code, __VA_ARGS__,))) |
| 253 | +#define Z_IF_ENABLED_ANY_25(_code, a, ...) \ |
| 254 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_24(_code, __VA_ARGS__,))) |
| 255 | +#define Z_IF_ENABLED_ANY_26(_code, a, ...) \ |
| 256 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_25(_code, __VA_ARGS__,))) |
| 257 | +#define Z_IF_ENABLED_ANY_27(_code, a, ...) \ |
| 258 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_26(_code, __VA_ARGS__,))) |
| 259 | +#define Z_IF_ENABLED_ANY_28(_code, a, ...) \ |
| 260 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_27(_code, __VA_ARGS__,))) |
| 261 | +#define Z_IF_ENABLED_ANY_29(_code, a, ...) \ |
| 262 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_28(_code, __VA_ARGS__,))) |
| 263 | +#define Z_IF_ENABLED_ANY_30(_code, a, ...) \ |
| 264 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_29(_code, __VA_ARGS__,))) |
| 265 | +#define Z_IF_ENABLED_ANY_31(_code, a, ...) \ |
| 266 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_30(_code, __VA_ARGS__,))) |
| 267 | +#define Z_IF_ENABLED_ANY_32(_code, a, ...) \ |
| 268 | + COND_CODE_1(a, _code, (Z_IF_ENABLED_ANY_31(_code, __VA_ARGS__,))) |
| 269 | + |
128 | 270 | /* Implementation of IS_EQ(). Returns 1 if _0 and _1 are the same integer from |
129 | 271 | * 0 to 4096, 0 otherwise. |
130 | 272 | */ |
|
0 commit comments