every-bit-counts-0.1: A functional pearl on encoding and decoding using question-and-answer strategies
PGames
data Void Source
data GamesOver whereSource
Constructors
data Game whereSource
totalWeight :: GamesOver s -> IntSource
split3 :: ISO t (Either t1 (Either t2 (Either t3 Void))) -> Int -> Game t1 -> Int -> Game t2 -> Int -> Game t3 -> Game tSource
flat2 :: ISO t (Either t1 t2) -> ISO t (Either t1 (Either t2 Void))Source
flat3 :: ISO t (Either t1 (Either t2 t3)) -> ISO t (Either t1 (Either t2 (Either t3 Void)))Source
split2 :: ISO t (Either t1 t2) -> Int -> Game t1 -> Int -> Game t2 -> Game tSource
split :: ISO t (Either t1 t2) -> Game t1 -> Game t2 -> Game tSource
(+>) :: Game t -> ISO s t -> Game sSource
type Bit = IntSource
type MInterval = (Int, Int, Int)Source
type Interval = (Int, Int)Source
type EInterval = (Int, Interval)Source
w2 :: IntSource
w3 :: IntSource
w4 :: IntSource
w1 :: IntSource
e :: IntSource
unit :: IntervalSource
narrow :: Interval -> MInterval -> IntervalSource
nextBits :: EInterval -> Maybe ([Bit], EInterval)Source
enarrow :: EInterval -> MInterval -> EIntervalSource
expand :: EInterval -> EIntervalSource
bits :: Int -> Bit -> [Bit]Source
stream :: EInterval -> [MInterval] -> [Bit]Source
arithEncAux :: EInterval -> Game t -> t -> [Bit]Source
encodeSyms :: Game t -> t -> [MInterval]Source
enc :: Game t -> t -> [Bit]Source
decode :: EInterval -> [Bit] -> Game t -> tSource
ominus :: (Int, [Bit]) -> [Bit] -> (Int, [Bit])Source
fscale :: (Int, (Int, [Bit])) -> IntSource
destream :: EInterval -> (Int, [Bit]) -> Game t -> tSource
testGame :: Game t -> t -> tSource