Rust: Detect Unsigned Integer Underflow
frehberg.com
frehberg.com
#define IS_UINT_SUB_UNDERFLOW (x, y) ((x) - (y) > (x))
#define IS_UINT_ADD_OVERFLOW (x, y) ((x) + (y) < (x))
#define IS_UINT_MUL_OVERFLOW (x, y, size_max) ((x) && (y) > (size_max) / (x))