Is there a website with non-UB C code snippets for stuff that is UB if done directly (like converting uint to int assuming twos complement)?
-
-
But anyway, x>INT_MAX ? -1-(int)(-1-x) : x
-
hmm.. cprover (cbmc) is not happy with that: "arithmetic overflow on signed to unsigned type conversion in (unsigned int)-1"
-
jfyi everyone: This version passes all cbmc checks (b is an uint64_t).pic.twitter.com/DKExVdRkeS
-
I prefer my version because it's algebraically obvious that the two branches collapse to the same thing, without thinking of def'n of ~.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.