55
66module HaskellWorks.Data.Xml.Internal.ToIbBp64
77 ( toBalancedParens64
8- , toInterestBits64
98 , toBalancedParens64'
109 , toInterestBits64'
1110 , toIbBp64
1211 ) where
1312
1413import Control.Applicative
14+ import Data.ByteString (ByteString )
1515import Data.Word
1616import HaskellWorks.Data.Xml.Internal.BalancedParens
1717import HaskellWorks.Data.Xml.Internal.List
1818import HaskellWorks.Data.Xml.Succinct.Cursor.BlankedXml (BlankedXml (.. ))
19- import HaskellWorks.Data.Xml.Succinct.Cursor.InterestBits (blankedXmlToInterestBits , genInterestForever )
19+ import HaskellWorks.Data.Xml.Succinct.Cursor.InterestBits (blankedXmlToInterestBits )
2020
2121import qualified Data.ByteString as BS
2222import qualified Data.Vector.Storable as DVS
2323
24- genBitWordsForever :: BS. ByteString -> Maybe (Word8 , BS. ByteString )
24+ genBitWordsForever :: ByteString -> Maybe (Word8 , ByteString )
2525genBitWordsForever bs = BS. uncons bs <|> Just (0 , bs)
2626{-# INLINABLE genBitWordsForever #-}
2727
@@ -30,16 +30,11 @@ toBalancedParens64 (BlankedXml bj) = DVS.unsafeCast (DVS.unfoldrN newLen genBitW
3030 where interestBS = BS. concat (compressWordAsBit (blankedXmlToBalancedParens bj))
3131 newLen = (BS. length interestBS + 7 ) `div` 8 * 8
3232
33- toBalancedParens64' :: BlankedXml -> [BS. ByteString ]
33+ toBalancedParens64' :: BlankedXml -> [ByteString ]
3434toBalancedParens64' (BlankedXml bj) = compressWordAsBit (blankedXmlToBalancedParens bj)
3535
36- toInterestBits64 :: BlankedXml -> DVS. Vector Word64
37- toInterestBits64 (BlankedXml bj) = DVS. unsafeCast (DVS. unfoldrN newLen genInterestForever interestBS)
38- where interestBS = BS. concat (blankedXmlToInterestBits bj)
39- newLen = (BS. length interestBS + 7 ) `div` 8 * 8
40-
41- toInterestBits64' :: BlankedXml -> [BS. ByteString ]
36+ toInterestBits64' :: BlankedXml -> [ByteString ]
4237toInterestBits64' (BlankedXml bj) = blankedXmlToInterestBits bj
4338
44- toIbBp64 :: BlankedXml -> [(BS. ByteString , BS. ByteString )]
39+ toIbBp64 :: BlankedXml -> [(ByteString , ByteString )]
4540toIbBp64 bj = zip (toInterestBits64' bj) (toBalancedParens64' bj)
0 commit comments