Re[2]: Быстрое сравнение double с учетом не точностей.
От: Кодт Россия  
Дата: 17.07.14 12:09
Оценка: +2
Здравствуйте, Аноним
Запарил уже писать ответы мимо форума.
Перекуём баги на фичи!
RE: Быстрое сравнение double с учетом не точностей.
От: Аноним  
Дата: 17.07.14 11:42
Оценка:
А>

А>__forceinline bool fdcmp ( double v1, double v2, char o ) // v1 eq v2 
А>{
А>    return ( ( ((__int64)( (*(unsigned __int64 *)&v1) - (*(unsigned __int64 *)&v2))) ) & 0x7FFFFFFFFFFFFFFF )<= o ;
А>}

А>


Поправьте —


__forceinline bool fdcmp ( double v1, double v2, char o ) // v1 eq v2 
{
    return     abs( ((__int64)( (*(unsigned __int64 *)&v1) - (*(unsigned __int64 *)&v2))) ) <= o ;
}


Переоптимизировал. Ага.

Кстати, проверил — действительно быстрее чем просто сравнение даблов , даже без всякого приведения — просто быстрее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.