Dear Stavros, Thank you for your fast reply!
So if I request a calculation of "0.3-0.1-0.1-0.1" and I do not get 0, that is not an issue of rounding / underflow (or whatever the correct technical term would be for that behaviour)? I thought that guard digits would mean that 0.3-0.1*31 should be calculated in higher precision than the final representation of the result, i.e., avoiding that this is not equal to 0? I am sorry if I am not from the field and although I have had some basic background in numerics that has been more than a decade ago. If you can suggest an online resource to help me use the right vocabulary and better understand the fundamental concepts, I am of course grateful. Best regards, David. 2009/6/20 Stavros Macrakis <macra...@alum.mit.edu>: > a) this is not a bug, so this is the wrong list > > b) 'underflow' does not mean what you think it means. > > c) guard digits and sticky bits do improve rounding behavior, but > floating point will always remain approximate. > > d) if it is important to your application to perform exact arithmetic > on rational numbers (and I suspect it is not), you might want to use > that instead of floating-point. But even if implemented in R, most R > calculations cannot use it. > > You may want to study up on floating-point arithmetic some more, though. > > -s > > On 6/19/09, rbug...@kreil.org <rbug...@kreil.org> wrote: >> Full_Name: D Kreil >> Version: 2.8.1 and 2.9.0 >> OS: Debian Linux >> Submission from: (NULL) (141.244.140.179) >> >> >> Group: Accuracy >> >> I understand that most floating point numbers are approximated due to their >> binary storage. On the other hand, I thought that modern math CPUs used >> guard >> digits to protect against trivial underflows. Not true? >> >> # integers, no problem >>> 1+1+1==3 >> [1] TRUE >> # binary floating point approximation underflows >>> .1+.1+.1==.3 >> [1] FALSE >>> .1+.1+.1==.3 >> [1] FALSE >> # binary floating point exact for certain numbers >>> .1+.1==.2 >> [1] TRUE >> >> I know that safe code should not test for quality of floats. Still, is R >> underutilizing the power of the underlying hardware? >> >> Grateful for comments, >> David. >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel