FW: Straightforward conversion from Int <-> Word

Dear library folk Is this as Haskell library issue? Shouldn't this be a blessed function? Simon -----Original Message----- From: Julian Seward (Intl Vendor) [mailto:v-julsew@microsoft.com] Sent: 25 February 2002 16:57 To: jmaessen@alum.mit.edu; glasgow-haskell-users@haskell.org Subject: RE: Straightforward conversion from Int <-> Word I've found this annoying in the past, and have resorted to hitting it on the head (GHC-specifically) with a blunt instrument: intToNat :: Int -> Word intToNat (I# i#) = W# (unsafeCast# i#) This probably defeats the good intentions of the FFI designers, but it kinda seems like it'll work on all reasonable architectures. J | -----Original Message----- | From: Jan-Willem Maessen [mailto:jmaessen@alum.mit.edu] | Sent: Monday, February 25, 2002 4:46 PM | To: glasgow-haskell-users@haskell.org | Subject: Straightforward conversion from Int <-> Word | | | I've cast about a bit and haven't been able to find the appropriate | functionality, so I'm asking here. | | I'd like to convert Int32 to and from Word32 in the good old-fashioned | bitwise fashion (perserving modular arithmetic). I have the following | code to show what I mean: | | intToNat i | | i >= 0 = fromIntegral i | | otherwise = fromIntegral (i - minBound) + negBound | where negBound = fromInteger . negate . toInteger $ | (minBound :: Int) | | One might think that "intToWord32" and "word32ToInt" in lang/Word | would do what I want---but no! These are depracated, and I must use | fromIntegral, which will only perform the conversion correctly for the | portions of the numeric range which overlap. | | How do I do the straightforward conversion module 2^32? I'm sure it's | buried in there somewhere... I can't even turn up an appropriate type | signature, though. | | -Jan-Willem Maessen | | _______________________________________________ | Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users | _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (1)
-
Simon Peyton-Jones