constantfolding
Dlaczego 0,1 + 0,2 = = 0,3 W D?
assert(0.1 + 0.2 != 0.3); // shall be true
Jest moim ulubionym sprawdzeniem, czy język używa natywnej arytmetyki zmiennoprz ... writeln(a + b != 0.3); // standard calculation in double precision
}
Wyjście:
false
true
Http://ideone.com/z6ZLk
Dlaczego GCC implementuje isnan () wydajniej dla C++ niż C?
Oto Mój kod:
int f(double x)
{
return isnan(x);
}
If I #include <cmath> I get this assembly:
xorl %eax, %eax ... powinni używać __builtin_isnan(), a jeśli tak, dlaczego?
Testowałem GCC 4.7.2 i 4.9.0 na x86 - 64 z optymalizacją -O2 i -O3.