struct Crysda::NullBitmap

Overview

=========================================================================== Null Bitmap - 1 bit per element for efficient null tracking Uses UInt64 words with SIMD acceleration for bulk operations

Defined in:

crysda/columns.cr

Constant Summary

SIMD_THRESHOLD = 4

SIMD threshold - use SIMD for bitmaps with >= this many words

Constructors

Instance Method Summary

Constructor Detail

def self.build(size : Int32, &) : NullBitmap #

Build bitmap directly from parsing - avoids intermediate Array(T?)


[View source]
def self.from_nullable(arr : Array) : NullBitmap #

[View source]
def self.new(size : Int32) #

[View source]
def self.none(size : Int32) : NullBitmap #

[View source]

Instance Method Detail

def &(other : NullBitmap) : NullBitmap #

Optimized AND - uses SIMD for large bitmaps


[View source]
def [](index : Int32) : Bool #

[View source]
def |(other : NullBitmap) : NullBitmap #

Optimized OR - uses SIMD for large bitmaps


[View source]
def any? : Bool #

[View source]
def clear(index : Int32) : Nil #

[View source]
def count : Int32 #

Optimized count using SIMD popcount where available


[View source]
def none? : Bool #

[View source]
def set(index : Int32) : Nil #

[View source]
def size : Int32 #

[View source]