on master help sign in
Fix bug in getWord32be and getWord64be
7ad3838Lennart Kolmodin
BitsGet.hs+2−2
@@ -154,9 +154,9 @@ readWithoutOffset s@(S bs o) shifterL shifterR n
154 bn 0 = fromIntegral (unsafeHead bs)
154 bn 0 = fromIntegral (unsafeHead bs)
155 bn n = (bn (n-1) `shifterL` 8) .|. fromIntegral (unsafeIndex bs n)
155 bn n = (bn (n-1) `shifterL` 8) .|. fromIntegral (unsafeIndex bs n)
156
156
157− msegs = bn segs `shifterL` o'
157+ msegs = bn (segs-1) `shifterL` o'
158
158
159− last = (fromIntegral (unsafeIndex bs (segs + 1))) `shifterR` (8 - (bit_offset n))
159+ last = (fromIntegral (unsafeIndex bs segs)) `shifterR` (8 - o')
160
160
161 w = msegs .|. last
161 w = msegs .|. last
162 in w :*: incS s n
162 in w :*: incS s n