-- | Bit orderings module Haskus.Binary.Bits.Order ( BitOrder(..) ) where -- | Bit order -- -- The first letter indicates the outer bit ordering, i.e. how bytes are filled: -- -- * B?: from left to right (B is for BigEndian) -- * L?: from right to left (L is for LittleEndian) -- -- The second letter indicates the inner bit ordering, i.e. how words are stored: -- -- * ?B: the most significant bit is stored first (in the outer bit order!) -- * ?L: the least-significant bit is stored first (in the outer bit order!) -- -- E.g. two successive words of 5 bits: ABCDE, VWXYZ -- @ BB: ABCDEVWX YZxxxxxx @ -- @ BL: EDCBAZYX WVxxxxxx @ -- @ LB: XWVEDCBA xxxxxxZY @ -- @ LL: XYZABCDE xxxxxxVW @ data BitOrder = BB | LB | BL | LL deriving (Show,Eq)