in reply to Re^2: 64 bit integers woes
in thread 64 bit integers woes

Math::BigInt(::FastCalc) numifies values as an NV:

That would account for a loss of precision, but it shouldn't result in -1.

SvUV() silently mangles NVs > 2**53

Are you sure? The number the OP posted requires 56 bits of precision to be stored in a float (64 bits for an integer). One would think the value was already mangled.

but whther it is compiled in or not is dependant upon another #define

CAST_INLINE only determines if the cast is done inline or if a subroutine is called to do the cast. Or where you referring to some unshown #ifdef?

Replies are listed 'Best First'.
Re^4: 64 bit integers woes
by BrowserUk (Patriarch) on Sep 09, 2009 at 13:34 UTC
    CAST_INLINE only determines if the cast is done inline or if a subroutine is called to do the cast.

    About 80% of the mass of macros used in Perl would be far better implemented as subroutines with the inline keyword attached. That one step would reduce the clutter in the Perl sources immeasurably, and it'd probably run faster.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      It wasn't portable. But that's changed. They were discussing starting to use it. They were all for it. I don't know if they've started using it or not.