Hi, On Wed, Mar 13, 2013 at 10:44 AM, <d...@gnu.org> wrote: > > "m...@mikesolomon.org" <m...@mikesolomon.org> writes: >> The concern before was a comment about numerical inaccuracy, but after >> having tested the patch, this seems not to be an issue. > > Like Keith pointed out, it could become one if more than one operation > is done before storing the result, and/or there are different code paths > for doing the operations to the different ends of an interval. > > If left and right have equal values to start with, C++ is still not > required to have left and right receive the same value after > > left = left*factor + offset; > right = right*factor + offset; > > That's totally sick. It may be worth using GCC compiler options to > disallow extended precision for intermediate results and/or the choice > to store intermediates with less than full precision and try to retain > some kind of deterministic behavior that way.
attached is a patch that turns your explanations into a comment and contains some explanatory text for commit message. You may want to double-check whether i got everything right. thanks, Janek
0002-add-a-comment-explaining-numerical-accuracy-issues.patch
Description: Binary data
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel