Ivan Godard <igodard@xxxxxxxxxxx> wrote:
You're right in the presence of communicating threads, but they are not
reproducible anyway, even in integer, and so this is not floating
point's problem to solve. Absent threading, the hardware of my
acquaintance goes to considerable effort to provide the illusion of
in-order execution even with an out-of-order reality, and some vendors
(such as my own company) are in-order to begin with.
I have used quite a lot of hardware that makes no such attempt.
But, even when the attempt is made, you will often find that it
applies only if no exception arises - and that includes ones that
are handled internally, and the application (or even operating
system) never sees.
This leads to the effect that a program fails for no apparent
reason, and rerunning it works. Or it gives answer A and, when
rerun, it always gives answer B. Yes, that happens, and it is
far more common than most people realise.
Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email: nmm1@xxxxxxxxx
Tel.: +44 1223 334761 Fax: +44 1223 334679