* Ulf Magnusson:
> Are you thinking of something like this?
>
> bool overflow_bit2(unsigned int a, unsigned int b) {
> const unsigned int ashift = a << 24;
> const unsigned int bshift = b << 24;
> const unsigned int sum = a + b;
> return (int)(~(a ^ b) & (a ^ sum)) < 0;
> }
Yes, but rather like :
bool overflow_bit2(unsigned char a, unsigned char b) {
const unsigned char sum = a + b;
return ((signed char)(~(a ^ b) & (a ^ sum))) < 0;
}
It still results in abysmal code, given that this should result in two
or three instructions on most architectures.
Are machine code insertions an option?