|
> From: Simon Coulter > > The ** operator has used floating-point since its inception. That's been made clear now, which makes it even stranger that the results have changed from one release to another. > The only 'error' was choosing to use floating-point when both operands > were decimal. I actually never used the word "error". I simply said that if things work differently between releases, this needs to be pointed out. I don't care if it's because something got "fixed"; if behavior of a given opcode changes between releases, there should be some notification. This particular situation, however, may be potentially less of an issue, since as you say, "anyone who uses floating point should know that it is an approximation and is only accurate to nearly 16 digits." At the same time, should everyone who uses exponentiation know floating point? I don't think that's reasonable. As you say, it would probably have been a better solution to use integer math when both operands are integers. Anyway, my point is still this: backwards compatibility has been until recently a mantra at IBM, and I hope it continues to be one. Because of the nature of this specific issue, however, it is not a good measurement of whether or not it's the case. Someone could reasonably argue that what happens after the 16th digit need not pass the compatibility test. Joe
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.