naturalToWord vs 'clampNaturalToWord'
sylvain at haskus.fr
Wed Sep 16 08:59:02 UTC 2020
We can easily add this function to ghc-bignum.
I've opened https://gitlab.haskell.org/ghc/ghc/-/issues/18697 to track this.
On 16/09/2020 04:19, Keith wrote:
> The short of it is,
> clampNaturalToWord :: Natural → Word
> clampNaturalToWord n = case n of
> NatS# w -> W# w
> _ -> maxBound
> results in much better space and time use than naturalToWord, which
> always takes the least significant Word of the Natural.
> Because naturalToWord takes the least significant Word, you always
> have to check for size before conversion. Even though you do check,
> GHC has to assume that, after conversion, the big Natural could have
> resulted in a small Word and will uselessly duplicate all branches for
> both cases.
> Is there anything wrong with clamping by default in this case?
> Sent from my phone with K-9 Mail.
> Libraries mailing list
> Libraries at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries