Loading...

Unicode.Internal.Bits

Fast, static bitmap lookup utilities

Bitmap lookup

lookupBit :: Addr# -> Int -> Int -> Bool Source #

lookupBit addr byteIndex bitIndex looks up the bit stored in the byte at index byteIndex at the bit index bitIndex using a bitmap starting at the address addr. The caller must make sure that the byte at address (addr + byteIndex) is legally accessible memory.

lookupWord8AsInt Source #

Arguments

:: Addr#

Bitmap address

-> Int

Word index

-> Int

Resulting word as Int

lookupWord8AsInt addr index looks up for the index-th 8-bits word in the bitmap starting at addr, then convert it to an Int.

The caller must make sure that:

  • ceiling (addr + (n * 8)) is legally accessible Word8#.

Since: 0.3.0

lookupWord8AsInt# Source #

Arguments

:: Addr#

Bitmap address

-> Int#

Word index

-> Int#

Resulting word as Int

lookupWord16AsInt Source #

Arguments

:: Addr#

Bitmap address

-> Int

Word index

-> Int

Resulting word as Int

lookupWord16AsInt# Source #

Arguments

:: Addr#

Bitmap address

-> Int#

Word index

-> Int#

Resulting word as Int

lookupWord32# Source #

Arguments

:: Addr#

Bitmap address

-> Int#

Word index

-> Word#

Resulting word

lookupWord32# addr index looks up for the index-th 32-bits word in the bitmap starting at addr, then convert it to a Word#.

The caller must make sure that:

  • ceiling (addr + (n * 32)) is legally accessible Word32#.

Since: 0.4.1

CString