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
Allow pack 'D' on all systems with long doubles #18517
Conversation
perlfunc documents the old behaviour. |
Good point, updated that. |
+1 - Thank you! |
Shouldn't this also depend on |
Why? Using this if that doesn't hold is silly, but not wrong AFAICT. |
I was thinking by analogy with |
My main concern is that, when NVSIZE < LONGDBLSIZE, people doing eg And I think that those running such a perl configuration, who do understand what "D" formatting is providing, will find little (if any) value in it. I therefore support an NVSIZE > LONGDBLSIZE condition ... but it's not particularly unusual for me to be out of step with the general consensus. |
That would be silly of them. I'm generally not in favor of making code more complex to enable silliness, but I'm also not in favor of complicating it to prevent people from being silly. |
There's a probably a strong historical aspect to my reticence to endorse the proposal of this PR. For sure, it would be handy if, on a perl whose nvtype is double, we could view the internal structure of specific values expressed as long doubles or __float128s.
With Math::MPFR, expressions involving overloaded operators can also be accommodated - eg sqrt(2):
Anyway ... if my concerns re the proposal of this PR are "a lone voice", as seems to be the case, then it's fair enough that they be ignored. |
What is needed to make @Leont 's patch merged |
I was waiting for more reactions, but if indeed sisyphus is the only one who wants this disabled on nvsize=8 systems I think we should merge it. |
I am keen to see |
Previously it was only supported if NV also was long double, but not when it is either double or __float128.
Previously it was only supported if
NV
itself also waslong double
, but not when it is eitherdouble
or__float128
.This intends to fix #18512