hw-rankselect-base-0.3.4.1: Rank-select base

Safe HaskellNone
LanguageHaskell2010

HaskellWorks.Data.RankSelect.Base.Select0

Documentation

class Select0 v where Source #

Methods

select0 Source #

Arguments

:: v

The bitstring

-> Count

The number of zeros

-> Count 

Find length of the shortest prefix of the given prefix that contains specified number of occurences of the bit 1

If the bitstring does not have enough occurences of bit 0 is insufficient to satisfy the query the result is undefined.

>>> import HaskellWorks.Data.Bits.BitRead
>>> :set -XTypeApplications
>>> select0 (unsafeBitRead @Word8 "11111111") 0
0
>>> select0 (unsafeBitRead @Word8 "11110111") 1
5
>>> select0 (unsafeBitRead @Word8 "00000000") 4
4
>>> select0 (unsafeBitRead @Word8 "11000000") 4
6
>>> select0 (unsafeBitRead @Word8 "01100000") 4
6
Instances
Select0 Word8 Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Word8 -> Count -> Count Source #

Select0 Word16 Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Word16 -> Count -> Count Source #

Select0 Word32 Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Word32 -> Count -> Count Source #

Select0 Word64 Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Word64 -> Count -> Count Source #

Select0 [Bool] Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: [Bool] -> Count -> Count Source #

Select0 [Word8] Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: [Word8] -> Count -> Count Source #

Select0 [Word16] Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: [Word16] -> Count -> Count Source #

Select0 [Word32] Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: [Word32] -> Count -> Count Source #

Select0 [Word64] Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: [Word64] -> Count -> Count Source #

Select0 (Vector Bit) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Vector Bit -> Count -> Count Source #

Select0 (Vector Bit) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: Vector Bit -> Count -> Count Source #

Select0 a => Select0 (BitShown a) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Methods

select0 :: BitShown a -> Count -> Count Source #

Select0 (Vector Word8) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word16) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word32) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word64) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word8) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word16) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word32) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0

Select0 (Vector Word64) Source # 
Instance details

Defined in HaskellWorks.Data.RankSelect.Base.Select0