type signature cleanup

This commit is contained in:
Jack Wines 2024-04-15 20:36:05 -07:00
parent 74b18d29a0
commit 6d00525334
No known key found for this signature in database
GPG key ID: 25B20640600571E6

View file

@ -89,13 +89,15 @@ testCompression _ bs =
. (compress :: BS.ByteString -> Maybe ([TreeDir], HuffmanTree a)) . (compress :: BS.ByteString -> Maybe ([TreeDir], HuffmanTree a))
$ bs $ bs
encodeCompressed :: (C.Serialize a) => Maybe ([TreeDir], HuffmanTree a) -> (BS.ByteString) encodeCompressed :: (C.Serialize a) => Maybe ([TreeDir], HuffmanTree a) -> BS.ByteString
encodeCompressed = C.encode . fmap (Bi.first encodeTreeDirs) encodeCompressed = C.encode . fmap (Bi.first encodeTreeDirs)
where where
encodeTreeDirs = cloneToByteStringWithLen . V.fromList . map (BV.Bit . (== R)) encodeTreeDirs = cloneToByteStringWithLen . V.fromList . map (BV.Bit . (== R))
cloneToByteStringWithLen :: V.Vector BV.Bit -> (BS.ByteString, Int)
cloneToByteStringWithLen vec = (BV.cloneToByteString vec, V.length vec) cloneToByteStringWithLen vec = (BV.cloneToByteString vec, V.length vec)
cloneFromByteStringWithLen :: (BS.ByteString, Int) -> V.Vector BV.Bit
cloneFromByteStringWithLen (bs, len) = V.take len . BV.cloneFromByteString $ bs cloneFromByteStringWithLen (bs, len) = V.take len . BV.cloneFromByteString $ bs
decodeTreeDirs :: (BS.ByteString, Int) -> [TreeDir] decodeTreeDirs :: (BS.ByteString, Int) -> [TreeDir]