#define all_bits_set(value, mask) ({__typeof__(value) v = (value), m = (mask); (v & m) == m; })
static bool all_bits_set32(i32 value, i32 mask) { return (value & mask) == mask; } static bool all_bits_set64(i64 value, i64 mask) { return (value & mask) == mask; } #define all_bits_set(value, mask) _Generic((value), int32_t: all_bits_set32, int64_t: all_bits_set64)(value, mask)