Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^11: Defining an XS symbol in the Makefile.PL

by syphilis (Bishop)
on Aug 20, 2019 at 03:27 UTC ( #11104715=note: print w/replies, xml ) Need Help??

in reply to Re^10: Defining an XS symbol in the Makefile.PL
in thread Defining an XS symbol in the Makefile.PL

It also looks like you may have found a better way to do this that does not require determining the FP type in advance?

Reading the bytes works well for comparing NV values, but unfortunately List::Util::uniqnum() also needs to be able to recognize that (eg) the IV "42" and the NV "42.0" are the same value.
Unfortunately that breaks down when one starts reading the bytes of the NV ;-)

You can't quite avoid determining the FP type, anyway. For a 16-byte extended precision long double I don't think it's wise to assume that 2 identical NVs would necessarily have the same 6 unused bytes.
For that type I decided I should locate the unused bytes and not read them. That additionally required that endianness be established (which is quite easy, courtesy of $Config{byteorder}).

So I'll just go with the original solution. As regards what to do regarding the DoubleDouble, I'm trying to establish whether the deplorable state of stringification that I'm seeing is typical ... or whether it's just *my* system that's suffering.
If mine is typical, then I'll just do "%.36" NVgf for the DoubleDouble. But if recent improvements have been made then I might try something smarter.
No-one (apart from me) uses DoubleDouble builds of perl anyway, and I haven't been able to find a failure using "%.36" NVgf so I'm not all that committed to spending too much time on it.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11104715]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2019-09-17 22:07 GMT
Find Nodes?
    Voting Booth?
    The room is dark, and your next move is ...

    Results (218 votes). Check out past polls.