Здравствуйте, deniok, Вы писали:
D>Здравствуйте, vadimcher, Вы писали:
V>>Здравствуйте, Ячменников Александр, Вы писали:
ЯА>>>Здравствуйте, vadimcher, Вы писали:
V>>>>f(f(0x80000001)) = 0x80000001
ЯА>>>Прикольно — ведь я и проверял-то только -1, 0, 1, 0x7fffffff, 0x80000000 и 0x80000001 — но глаз замылился и не увидел это в логе
ЯА>>>Т.о. вывод такой — можно сделать эту функцию для всех чисел кроме двух, необязательно 0x80000000 и 0x80000001.
ЯА>>>Всего наилучшего
V>>Я бы даже сказал, можно для всех чисел, кроме одного.
D>Что, кстати, иллюстрирует необходимость покрытия кода тотальными тестами (или использования формальной верификации программы)
Да уж... Я сразу вспоминаю недавний глюк Excel 2007, который "работал" только для 12 из 9.2*10^18 64-битных чисел с плавающей точкой.