Normalisation fixes - #3482
Conversation
| } | ||
| return {.g11{1 / SQ(Bnorm * rho_s0)}, | ||
| return {.g11{SQ(Bnorm * rho_s0)}, | ||
| .g11_mul{true}, |
There was a problem hiding this comment.
warning: braces around scalar initializer [clang-diagnostic-braced-scalar-init]
| .g11_mul{true}, | |
| .g11_mul true, |
There was a problem hiding this comment.
Not sure what clang-tidy is trying to do here, but g++ 15.2.0 is not happy with the suggested change.
| .g12{Bnorm}, | ||
| .g12_mul{true}, |
There was a problem hiding this comment.
I don't understand this at all -- why is this not equivalent? Is it just loss of precision?
There was a problem hiding this comment.
Yes, and that seems to cause the failures in Hermes-3. If you think we should not do this, and just update the expected results, then we can do that, too. But I thought it might be good if we do not change results without a somewhat good reason, and the _mul additions do not seem like a huge addition of code.
|
For the record, without these changes, Hermes-3 fails with: So it seems the rounding errors in doubles, cause differences in 1e-5 range. |
|
There are rounding differences between The PR address this by normalising just the same way that Hermes-3 used to normalise the metrics |
Both commits are required to have the 2D-production test for Hermes-3. I tested locally only the 2nd patch, and in CI the first patch only. Both failed on there own.