Какой лучший (самый чистый, самый эффективный) способ написать насыщающее дополнение в C?
Функция или макрос должны добавить два неподписанных входа (нужны как 16-, так и 32-битные версии) и вернуть все-бит-один (0xFFFF или 0xFFFFFFFF), если сумма переполнена.
Цель - x86 и ARM с использованием gcc (4.1.2) и Visual Studio (только для моделирования, поэтому там реализована резервная реализация).