Implement `decodeDouble_Int64#` primop

Authored by hvr.

Description

Implement decodeDouble_Int64# primop

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 Trac #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

Details

Committed
hvrSep 17 2014, 10:55 AM
Differential Revision
D160: Implement `decodeDouble_Int64#` primop
Parents
rGHC3c2829017943: Typo in comment
Branches
Unknown
Tags
Unknown
Build Status
Buildable 870
Build 873: GHC Continuous Integration (amd64/Linux)