On Apr 23, 2011, at 9:54 PM, Michael D. Berger wrote: > On my CentOS 5 box, in a C++ program that does much arithmetic, > including numerous matrix multiplications, I have a situation in > in which the result depends on the nature of nearby I/O. Thus, > with all arithmetic done with type double, and where values > are mostly in the range [-1.0e0,+1.0e0] or nearby, I do: > > cerr << "some stuff" << endl; > mat3 = matmult(mat1,mat2); > > I get a difference of the order 1.0e-15 depending on whether the > cerr line does or does not end in "endl" as shown. > > I am imagining that there is some "randomness" in the roundoff > that depends on the I/O situation. Is this credible? Any other > suggestions? > > Thanks for your help, > Mike. Mike, I think I'm understanding your problem. This just sounds like a floating point rounding issue. You've read the floating point bible already? http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html Todd -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20110426/1251ef73/attachment-0005.html>