Just sent this to developer list only, so here a copy for the record:

"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.

https://codereview.appspot.com/7310075/

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to