[Haskell-cafe] Data.Complex.magnitude slow?

Don Stewart dons at galois.com
Fri Jul 18 13:47:31 EDT 2008


sk:
> On 17.07.2008, at 21:46, Lennart Augustsson wrote:
> >If scaleFloat and exponent are implemented with bit twiddling they can
> >be quite fast.
> 
> is there a way in ghc to 'cast' between float/int32 and double/int64  
> (without going through memory)?

Yeah,

    "fromIntegral/Int->Float"   fromIntegral = int2Float
    "truncate/Float->Int"       truncate     = float2Int


    "truncate/Double->Int"      truncate = double2Int

with appropriate no-op fromIntegrals for the 32 and 64 variants.



More information about the Haskell-Cafe mailing list