|
From: Robert D. <rob...@gm...> - 2017-06-28 03:50:22
|
On 2017-06-26, Andreas Eder <aek...@gm...> wrote: > What I suspect is a different order of evaluation. The macro version > is expande into a literal at macroexpansion time, whereas the defvar > generates a reference to the variable at compile time. The might lead > to different orders of evaluation. But I'm no expert in these matters. > The difference is very small and I always expect such things when > dealing with floating point. The premise of making nonfunctional changes to the code is that they won't have any effect. We can be sure that we haven't caused any trouble because the results are exactly the same as before. If the results differ in any respect, well, all bets are off. Does it work better now? Is it a bug? Does it make no difference? We won't know until the problem is studied in detail. I generally don't have a strong opinion about such changes, as long as they have, in fact, no effect on results. But if the results change, then someone, probably the author of the changes, has to ensure that the changes are harmless or positive. At this point I would like to ask you to revert any changes which caused results to change, pending analysis of the changed results. As an implementation detail, I believe it's generally recommended to revert changes which have been published by committing another patch, so there are 2 commits, one to do, and one to undo. Instead of deleting the commit via git reset, which rewrites history, as they say. best Robert Dodier |