On Wednesday, July 29, 2015 at 11:33:07 AM UTC-4, Steven G. Johnson wrote: > > > > On Wednesday, July 29, 2015 at 11:23:34 AM UTC-4, Scott Jones wrote: >> >> For me, the nice thing (if I understand this correctly) is that UNUMs let >> me know that there *was* roundoff error, whereas with currently IEEE binary >> *and* decimal standards, you have no way of telling. >> > > IEEE floating-point has the inexact exception flag to signal that a > roundoff error occurred. The unum proposal would store an inexact bit in > each number, and I'm skeptical that this adds much value. (In practice, > almost all nontrivial computations with a fixed precision will incur a > rounding error, and if one output is inexact usually all of them are.) >
Right, if you *do* set the exception flag, but I don't think I've ever seen anybody run with that flag set. About the nontrivial computation part, I think that really depends on your use cases. A large part of the calculations done in Caché were exact (think of simple stuff like adding up a bunch of numbers). (I know this, since I wrote the math package myself, and did a lot of testing to see just what sorts of operations were being done [so I could optimize the more frequent ones more], and to make sure I did handle the rounding correctly).