# Functions
BytesToBools efficiently populates a slice of booleans from an input bitmap.
GetMinMaxInt32 returns the min and max for a int32 slice, using AVX2 or SSE4 cpu extensions if available, falling back to a pure go implementation if they are unavailable or built with the noasm tag.
GetMinMaxInt64 returns the min and max for a int64 slice, using AVX2 or SSE4 cpu extensions if available, falling back to a pure go implementation if they are unavailable or built with the noasm tag.
GetMinMaxUint32 returns the min and max for a uint32 slice, using AVX2 or SSE4 cpu extensions if available, falling back to a pure go implementation if they are unavailable or built with the noasm tag.
GetMinMaxUint64 returns the min and max for a uint64 slice, using AVX2 or SSE4 cpu extensions if available, falling back to a pure go implementation if they are unavailable or built with the noasm tag.
IsMultipleOf64 returns whether v is a multiple of 64.
LeastSignificantBitMask returns a bit mask to return the least significant bits for a value starting from the bit index passed in.
Max is a convenience Max function for int64.
No description provided by the author
MaxInt is a convenience Max function for int.
Min is a convenience Min function for int64.
No description provided by the author
MinInt is a convenience Min function for int.
NewBitBlockCounter returns a BitBlockCounter for the passed bitmap starting at startOffset of length nbits.
No description provided by the author
NewBitReader takes in a reader that implements io.Reader, io.ReaderAt and io.Seeker interfaces and returns a BitReader for use with various bit level manipulations.
NewBitRunReader returns a reader for the given bitmap, offset and length that grabs runs of the same value bit at a time for easy iteration.
NewBitWriter initializes a new bit writer to write to the passed in interface using WriteAt to write the appropriate offsets and values.
NewFirstTimeBitmapWriter creates a bitmap writer that might clobber any bit values following the bits written to the bitmap, as such it is faster than the bitmapwriter that is created with NewBitmapWriter.
NewOptionalBitBlockCounter constructs and returns a new bit block counter that can properly handle the case when a bitmap is null, if it is guaranteed that the the bitmap is not nil, then prefer NewBitBlockCounter here.
NewReverseSetBitRunReader returns a SetBitRunReader like NewSetBitRunReader, except it will return runs starting from the end of the bitmap until it reaches startOffset rather than starting at startOffset and reading from there.
No description provided by the author
No description provided by the author
NewSetBitRunReader returns a SetBitRunReader for the bitmap starting at startOffset which will read numvalues bits.
NewWriterAtBuffer returns an object which fulfills the io.WriterAt interface by taking ownership of the passed in slice.
VisitBitBlocks is a utility for easily iterating through the blocks of bits in a bitmap, calling the appropriate visitValid/visitInvalid function as we iterate through the bits.
VisitSetBitRuns is just a convenience function for calling NewSetBitRunReader and then VisitSetBitRuns.
# Constants
Max and Min constants for the IndexType.
No description provided by the author
Max and Min constants for the IndexType.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
BitBlockCount is returned by the various bit block counter utilities in order to return a length of bits and the population count of that slice of bits.
BitBlockCounter is a utility for grabbing chunks of a bitmap at a time and efficiently counting the number of bits which are 1.
BitReader implements functionality for reading bits or bytes buffering up to a uint64 at a time from the reader in order to improve efficiency.
BitRun represents a run of bits with the same value of length Len with Set representing if the group of bits were 1 or 0.
BitWriter is a utility for writing values of specific bit widths to a stream using a uint64 as a buffer to build up between flushing for efficiency.
OptionalBitBlockCounter is a useful counter to iterate through a possibly non-existent validity bitmap to allow us to write one code path for both the with-nulls and no-nulls cases without giving up a lot of performance.
No description provided by the author
No description provided by the author
SetBitRun describes a run of contiguous set bits in a bitmap with Pos being the starting position of the run and Length being the number of bits.
TellWrapper wraps any io.Writer to add a Tell function that tracks the position based on calls to Write.
WriterAtBuffer is a convenience struct for providing a WriteAt function to a byte slice for use with things that want an io.WriterAt.
# Interfaces
BitmapWriter is an interface for bitmap writers so that we can use multiple implementations or swap if necessary.
BitRunReader is an interface that is usable by multiple callers to provide multiple types of bit run readers such as a reverse reader and so on.
DictionaryConverter is an interface used for dealing with RLE decoding and encoding when working with dictionaries to get values from indexes.
SetBitRunReader is an interface for reading groups of contiguous set bits from a bitmap.
WriteCloserTell is an interface adding a Tell function to a WriteCloser so if the underlying writer has a Close function, it is exposed and not hidden.
WriterAtWithLen is an interface for an io.WriterAt with a Len function.
WriterTell is an interface that adds a Tell function to an io.Writer.