on master help sign in
Break dependency between Data.UUID.Internal and Data.Word.Util
12641b7Bardur Arantsson
Data/UUID/Internal.hs+8−1
@@ -62,7 +62,6 @@ import qualified Data.ByteString.Lazy as BL
62import qualified Data.ByteString.Unsafe as BU
62import qualified Data.ByteString.Unsafe as BU
63
63
64import Data.UUID.Builder
64import Data.UUID.Builder
65−import Data.Word.Util
66
65
67import System.Random
66import System.Random
68
67
@@ -167,6 +166,14 @@ word a b c d = (fromIntegral a `shiftL` 24)
167byte :: Int -> Word32 -> Word8
166byte :: Int -> Word32 -> Word8
168byte i w = fromIntegral (w `shiftR` (i * 8))
167byte i w = fromIntegral (w `shiftR` (i * 8))
169
168
169+-- |Build a Word16 from two Word8 values, presented in big-endian order.
170+w8to16 :: Word8 -> Word8 -> Word16
171+w8to16 w0s w1s =
172+ (w0 `shiftL` 8) .|. w1
173+ where
174+ w0 = fromIntegral w0s
175+ w1 = fromIntegral w1s
176+
170
177
171-- |Make a UUID from sixteen Word8 values
178-- |Make a UUID from sixteen Word8 values
172makeFromBytes :: Word8 -> Word8 -> Word8 -> Word8
179makeFromBytes :: Word8 -> Word8 -> Word8 -> Word8
Data/Word/Util.hs−7
@@ -5,13 +5,6 @@ module Data.Word.Util where
5import Data.Bits
5import Data.Bits
6import Data.Word
6import Data.Word
7
7
8−w8to16 :: Word8 -> Word8 -> Word16
9−w8to16 w0s w1s =
10− (w0 `shiftL` 8) .|. w1
11− where
12− w0 = fromIntegral w0s
13− w1 = fromIntegral w1s
14−
15w16to32 :: Word16 -> Word16 -> Word32
8w16to32 :: Word16 -> Word16 -> Word32
16w16to32 w0s w1s =
9w16to32 w0s w1s =
17 (w0 `shiftL` 16) .|. w1
10 (w0 `shiftL` 16) .|. w1