#include int32_t int32_negative_mask(int32_t x) { return x >> 31; } int32_t int32_positive_mask(int32_t x) { int32_t c = -x; c ^= x & c; return int32_negative_mask(c); }