Currently, to assert that addition doesn't overflow, we
add_cy(s, cy, a, b);
assert(digit::is_zero(cy));
If NDEBUG is not set, then this checks that overflow hasn't occurred. If NDEBUG is set, it's possible (need to verify) that some carry handling code is generated; this is wasteful as it isn't used.
Currently, to assert that addition doesn't overflow, we
If
NDEBUGis not set, then this checks that overflow hasn't occurred. IfNDEBUGis set, it's possible (need to verify) that some carry handling code is generated; this is wasteful as it isn't used.