[arm] Почему nextafterf(0.0f, 1.0f) == 0.0f?
От: Went  
Дата: 19.11.21 09:59
Оценка: 3 (1)
Здравствуйте. Есть такой код:
float next = nextafterf(0.0f, 1.0f);
bool crazy = next == 0.0f;

На всех платформах, с которыми я имел дело ранее, равенство ожидаемо было ложным. Но когда я собираю свежим XCode на довольно древний iPad (arm v7, по-моему), то здесь это сравнение даёт истину! В чем ошибка? Может, какие-то опции компиляции нужно покрутить? Дебаг-конфигурация, оптимизации отключены. Или число 1.40129846E-45 какое-то неправильное и процессор имеет право трактовать его как угодно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.