Implement `decodeDouble_Int64#` primop
ClosedPublic

Authored by hvr on Aug 15 2014, 6:02 PM.

Details

Summary

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.

Test Plan

tested via integer-gmp2

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Lint Skipped
Unit
Unit Tests Skipped
hvr updated this revision to Diff 368.Aug 15 2014, 6:02 PM
hvr retitled this revision from to Implement `decodeDouble_Int64#` primop.
hvr updated this object.
hvr edited the test plan for this revision. (Show Details)
hvr added reviewers: austin, simonmar.
hvr updated the Trac tickets for this revision.
hvr updated this revision to Diff 374.Aug 16 2014, 9:31 AM
hvr edited edge metadata.

just a minor rebase to match D82

hvr updated this revision to Diff 375.Aug 16 2014, 9:33 AM

try to convice arc not to include D82 patch

Harbormaster completed remote builds in B461: Diff 375.
austin accepted this revision.Aug 16 2014, 3:57 PM
austin edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Aug 16 2014, 3:57 PM
hvr closed this revision.Sep 17 2014, 10:58 AM
hvr updated this revision to Diff 569.

Closed by commit rGHCb62bd5ecf3be (authored by @hvr).