New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix test failure on ppc64le and aarch64 with gcc 12 #9601
Conversation
.../hist/hist/test/test_tprofile2poly.cxx:61: Failure The difference between cont1 and cont2 is 1.4551915228366852e-11, which exceeds delta, where cont1 evaluates to 54886.064319363642, cont2 evaluates to 54886.064319363628, and delta evaluates to 9.999999960041972e-12. .../hist/hist/test/test_tprofile2poly.cxx:61: Failure The difference between cont1 and cont2 is 1.4551915228366852e-11, where cont1 evaluates to 109868.61342004745, cont2 evaluates to 109868.61342004743. The abs_error parameter delta evaluates to 9.999999960041972e-12 which is smaller than the minimum distance between doubles for numbers of this magnitude which is 1.4551915228366852e-11, thus making this EXPECT_NEAR check equivalent to EXPECT_EQUAL. Consider using EXPECT_DOUBLE_EQ instead.
Starting build on |
Now passes all tests. |
Still happens in 6.28.00. |
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead.
Hi! I'm not so happy with the uncommented magic factor of two :( Can we maybe solve the problem like this? |
As seen in #9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead.
Hi @ellert, since there was no reply I just went ahead with merging the other PR. But if there are still issues, feel free to re-open this PR, create a new PR or open a GitHub issue about it! Thanks, |
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead.
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead. In some cases, `EXPECT_NEAR` is still used to make the test pass on all platforms, but with a relative tolerance.
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead. In some cases, `EXPECT_NEAR` is still used to make the test pass on all platforms, but with a relative tolerance.
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead. In some cases, `EXPECT_NEAR` is still used to make the test pass on all platforms, but with a relative tolerance.
As seen in #9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead. In some cases, `EXPECT_NEAR` is still used to make the test pass on all platforms, but with a relative tolerance.
Hi @guitargeek , the factor is not more magic than the |
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead.
As seen in root-project#9601, using `EXCEPT_NEAR` with an absolute error is not so good, because if the numbers are large the hardcoded absolute error can be smaller than the double precision. In these cases, `EXPECT_DOUBLE_EQ` is recommended instead. In some cases, `EXPECT_NEAR` is still used to make the test pass on all platforms, but with a relative tolerance.
This Pull request:
Changes or fixes:
Checklist: