Don wrote:
That's true, but if you're in a floatingpoint module, and you call a
non-floatingpoint module, it's your responsibility to make sure that the
rounding mode is back to normal. You're saying that you don't care about
the status flags. So it's your own fault if you get surprising results.
The primary use for adjusting the rounding mode is for things like
implementing interval arithmetic. Thus, it's only ever used for small
functions.
Perhaps we can go with something simpler. If you call a pure function,
then the modes must be set to their defaults.