Skip to content
  • Herbert Valerio Riedel's avatar
    Implement `decodeDouble_Int64#` primop · b62bd5ec
    Herbert Valerio Riedel authored
    The existing `decodeDouble_2Int#` primop is rather inconvenient to use
    (and in fact is not even used by `integer-gmp`) as the mantissa is split
    into 3 components which would actually fit in an `Int64#` value.
    
    However, `decodeDouble_Int64#` is to be used by the new `integer-gmp2`
    re-implementation (see #9281).
    
    Moreover, `decodeDouble_2Int#` performs direct bit-wise operations on the
    IEEE representation which can be replaced by a combination of the
    portable standard C99 `scalbn(3)` and `frexp(3)` functions.
    
    Differential Revision: https://phabricator.haskell.org/D160
    b62bd5ec