私は常に、次のテストが次の有限値(INFなし、NANなし)で常に成功すると想定していましたsomefloat
。
assert(somefloat*0.0==0.0);
Multiply by 0最適化では、厳密に同じことを言っているわけではないdouble a=0.0
と述べられています。double a=-0.0
したがって、これが一部のプラットフォームで問題を引き起こす可能性があるかどうか疑問に思いました。たとえば、上記のテストの結果は、a
ビーイングがポジティブかネガティブかによって異なります。