-
Notifications
You must be signed in to change notification settings - Fork 226
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
test fix for multiprecision 562 #1015
Conversation
I'm not the expert here, but somehow my feeling might be to handle/agree to this one, when/if possible. After that, then boostorg/multiprecision#562 Thoughts? |
As to the order of the two PRs, there are two schools of thoughts:
I think that approach 2 is sensible when it comes to API changes, but not so much in this situation. I don't know which approach is the Boost way. Hopefully someone in the know can weight in. In any case, this may be a moot point. I think this is a good candidate for a speedy merge. |
Can the type
? I see If not, it might be useful to instead comment out the test with a reference back to this discussion in case someone wonders about this issue. |
I think that's what's going on in this PR. The
I added an In a future without |
Hi John (@jzmaddock) or Matt (@mborland), could you take a quick look? Looks trivial and as soon as a tiny review is finished, we can handle both this PR as well as the one in Multiprecision. |
I think we're over-thinking this a bit, we know the two libraries are a little entangled, lets just get the multiprecision version merged/fixed, then fix this one properly rather than messing about with #if's. |
In that case, it seems to make sense to move the existing test
into the existing |
I agree, sounds great. |
I looked at this file more carefully to understand what it is trying to do. It seems that it is testing to see if |
That sounds like a good idea for both autodiff as well as multiprecision types. Though I can't speak to how best to setup the dependencies (i.e. Add |
I added the autodiff types to the classify test, which seems cleaner to me. Does this seem like the correct thing to you? |
Yes, seems that's how it should have originally been done, assuming it's ok w/ @jzmaddock et al. Thank you! |
@jzmaddock The failures seem unrelated. |
This looks good to me. Math and Multiprecision are pretty tightly coupled so this is not the first time that we have had to make changes in one that impacts the test results in another. |
Thanks @mborland |
According to this, if a floating point type
T
supports subnormal numbers, thenstd::numeric_limits<T>::denorm_min()
is a subnormal number. If support is absent, thenstd::numeric_limits<T>::denorm_min()
isstd::numeric_limits<T>::min()
.There is a test in
test_autodiff_7.cpp
that checks thatstd::numeric_limits<T>::denorm_min()
is not a normal number. This test passes even though the statement is sometimes false. This result is due to an oversight in Boost Multiplication to be corrected by this PR.This PR updates this incorrect test so that Boost Math doesn't breaking when the above mentioned Boost Multiprecision PR gets merged.