История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Зачем эти велосипеды?
signbit и copysign же!
А ему всё равно надо проверять там реально ноль, или не нереально ноль. Ведь если он знает что где то реально ноль, то почему просто не вписать константу в виде нуля? Это я к тому что нужно раз уж так пошло на вывод все данные прогонять через типа такой фильтр который выявит именно отрицательный ноль и уберёт у него знак, а всё остальное пропустит как есть. А так как для 100% уверенности что это реально ноль надо привести к 32 битному инту и глянуть там реально всё по нулям или нет то вызов этих функций будет оверхедом (хотя не факт, может вызывать эти функции будет дешевле так как там наверняка продумали всё и gcc сменит знаковый бит максимально эффективно) так как у нас уже всё под рукой, дрыгни биты влево/вправо и готово.
Вот поэтому вот так. Конечно может я перемудрил. Но мне кажется не перемудрил. А так, прикольно же! Ну и ладно :)
Буду рад словить помидор в лоб если реально что-то не так. Поругай, я только за! Может что упускаю
Исправление LINUX-ORG-RU, :
Зачем эти велосипеды?
signbit и copysign же!
А ему всё равно надо проверять там реально ноль, или не нереально ноль. Ведь если он знает что где то реально ноль, то почему просто не вписать константу в виде нуля? Это я к тому что нужно раз уж так пошло на вывод все данные прогонять через типа такой фильтр который выявит именно отрицательный ноль и уберёт у него знак, а всё остальное пропустит как есть. А так как для 100% уверенности что это реально ноль надо привести к 32 битному инту и глянуть там реально всё по нулям или нет то вызов этих функций будет оверхедом так как у нас уже всё под рукой, дрыгни биты влево/вправо и готово.
Вот поэтому вот так. Конечно может я перемудрил. Но мне кажется не перемудрил. А так, прикольно же! Ну и ладно :)
Буду рад словить помидор в лоб если реально что-то не так. Поругай, я только за! Может что упускаю
Исходная версия LINUX-ORG-RU, :
Зачем эти велосипеды?
signbit и copysign же!
А ему всё равно надо проверять там реально ноль, или не нереально ноль. Ведь если он знает что где то реально ноль, то почему просто не вписать константу в виде нуля? Это я к тому что нужно раз уж так пошло на вывод все данные прогонять через типа такой фильтр который выявит именно отрицательный ноль и уберёт у него знак, а всё остальное пропустит как есть. А так как для 100% уверенности что это реально ноль надо привести к 32 битному инту и глянуть там реально всё по нулям или нет то вызов этих функций будет оверхедом так как у нас уже всё под рукой, дрыгни биты влево/вправо и готово.
Вот поэтому вот так. Конечно может я перемудрил. Но мне кажется не перемудрил. А так, прикольно же! Ну и ладно :)