On Friday, 6 December 2013 at 14:58:31 UTC, Joseph Rushton
Wakeling wrote:
On 06/12/13 15:02, Ali Çehreli wrote:
Are they identical when printed with %a?
Yes. You can see some of the results here (for the 32-bit
systems where I was getting failures):
https://d.puremagic.com/test-results/pull.ghtml?projectid=1&runid=811923&logid=6
https://d.puremagic.com/test-results/pull.ghtml?projectid=1&runid=811924&logid=6
https://d.puremagic.com/test-results/pull.ghtml?projectid=1&runid=811927&logid=6
https://d.puremagic.com/test-results/pull.ghtml?projectid=1&runid=811930&logid=6
So, as I said, it's baffling why the equality operator is not
returning true.
Some time ago in a test I had written (C++) apparently identical
floating point operations were returning different answers (in
the 17th/18th sign fig), when re-running the same code with the
same data. The paper described how the result could change if the
numbers remained in the FPU (which had a few bits extra precision
over the normal register size) during the course of the
calculation as a opposed to being swapped in and out of the main
registers. Depending on when numbers could get flushed out of the
FPU (task swapping I suppose) you would get slightly different
answers.
Could this be a factor?
Abdulhaq