On 2/4/2012 7:00 AM, Andreas Schwab wrote:
Vincent Lefevre<vincent+...@vinc17.org> writes:
Wrong. 53 bits of precision. And 10^22 is the last power of 10
exactly representable in double precision (FYI, this example has
been chosen because of this property).
But it is indistinguishable from 10^22+pi. So both -0.8522008497671888
and 0.8522008497671888 are correct results, or anything inbetween.
I don't see that 10**22 is a well defined exactly represented value,
whose sin/cos values are exactly well defined, the fact that
10**22+pi cannot be represented exactly does not change that.
I agree that if you write a literal for a value which cannot be
represented exactly, there may be some ambiguity, as Vincent
suggests (you can't tell if it is just a request for a close
value, or very specifically a request for the correctly rounded
machine number). But if you write a literal that can be represented
exactly, then it is perfectly reasonable to expect trig functions
to give the proper result, which is unambiguous in this case.
Andreas.