;
38 typedef unsigned int id_t;
42 #ifndef BM_DEFAULT_POOL_SIZE 43 # define BM_DEFAULT_POOL_SIZE 4096 47 const unsigned long long id_max32= 0xFFFFFFFFull;
48 const unsigned long longid_max48 = 0xFFFFFFFFFFFFull;
105 const unsigned long long id_max= bm::id_max48;
131 #if defined(BM64OPT) || defined(BM64_SSE4) 242 static const char _p[];
243 static const unsigned _v[3];
246 #define BM_VERSION_MAJOR 8 247 #define BM_VERSION_MINOR 0 248 #define BM_VERSION_PATCH 1 251 "BitMagic Library. v.8.0.1 (c) 2002-2025 Anatoliy Kuznetsov.";
255 #define BM_SCALAR_VERSION (((BM_VERSION_MAJOR) << 16) + ((BM_VERSION_MINOR) << 8) + (BM_VERSION_PATCH)) 2690, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
27031, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
279 static const signed char _idx[256];
284-1, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
2854, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2865, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2875, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2886, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2896, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2906, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2916, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2927, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2937, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2947, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2957, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2967, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2977, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2987, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2997, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3160,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
3171,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
3181,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
3192,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
3201,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
3212,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
3222,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
3233,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8
333 static unsigned char const _lut[16];
33932U, 31U, 30U, 30U, 29U, 29U, 29U, 29U,
34028U, 28U, 28U, 28U, 28U, 28U, 28U, 28U
348 static unsigned char const _lut[37];
35432, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11,
3550, 13, 4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0,
35621, 14, 9, 5, 20, 8, 19, 18
3720x1, 0x3, 0x7, 0xf, 0x1f, 0x3f, 0x7f, 0xff, 0x1ff, 0x3ff, 0x7ff,
3730xfff, 0x1fff, 0x3fff, 0x7fff, 0xffff, 0x1ffff, 0x3ffff, 0x7ffff,
3740xfffff, 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff, 0x1ffffff, 0x3ffffff,
3750x7ffffff, 0xfffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff
3800xffffffff, 0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0,
3810xffffffe0, 0xffffffc0, 0xffffff80, 0xffffff00, 0xfffffe00,
3820xfffffc00, 0xfffff800, 0xfffff000, 0xffffe000, 0xffffc000,
3830xffff8000, 0xffff0000, 0xfffe0000, 0xfffc0000, 0xfff80000,
3840xfff00000, 0xffe00000, 0xffc00000, 0xff800000, 0xff000000,
3850xfe000000, 0xfc000000, 0xf8000000, 0xf0000000, 0xe0000000,
3860xc0000000, 0x80000000
418{ 32, 96, 128, 512 };
471 unsigned char*s = (
unsigned char*)&x;
472s[0] = 1; s[1] = 2; s[2] = 3; s[3] = 4;
operation
Bit operations.
set_operation
Codes of set operations.
null_support
NULL-able value support.
finalization
copy strategy
strategy
Block allocation strategies.
@ BM_UNSORTED
input set is NOT sorted
@ BM_SORTED
input set is sorted (ascending order)
@ BM_UNKNOWN
sort order unknown
@ BM_SORTED_UNIFORM
sorted and in one block (internal!)
@ use_null
support "non-assigned" or "NULL" logic
@ no_null
do not support NULL values
@ READWRITE
mutable (read-write object)
@ READONLY
immutable (read-only object)
@ BM_BIT
No GAP compression strategy. All new blocks are bit blocks.
@ BM_GAP
GAP compression is ON.
const unsigned set_array_mask
const unsigned set_block_plane_cnt
const unsigned set_block_digest_wave_size
const unsigned gap_max_level
const unsigned set_block_mask
const unsigned set_total_blocks32
const unsigned set_blkblk_mask
const unsigned set_sub_array_size
const unsigned gap_max_bits_cmrz
const unsigned bits_in_array
const unsigned set_total_blocks
ByteOrder
Byte orders recognized by the library.
set_representation
set representation variants
@ set_gap
GAP-RLE compression.
@ set_bitset
Simple bitset.
@ set_array1
array of set 1 values
@ set_array0
array of 0 values
const unsigned bie_cut_off
simd_codes
codes for supported SIMD optimizations
@ simd_sse42
!< Intel SSE2
@ simd_sse2
!< No SIMD or any other optimization
@ simd_avx512
!< Intel AVX2
@ simd_neon
! WASM SIMD 128
@ simd_avx2
!< Intel SSE4.2
@ simd_wasm128
!< Intel AVX512
const unsigned set_block_size_op
const unsigned rs3_half_span
const unsigned gap_levels
const unsigned set_word_shift
const unsigned set_array_size32
const unsigned set_sub_total_bits
const unsigned set_block_digest_pos_shift
const unsigned set_block_size
unsigned long long int id64_t
const unsigned block_waves
const unsigned gap_equiv_len
const unsigned set_block_alloc_size
const unsigned rs3_border0_1
const unsigned gap_max_buff_len
const unsigned rs3_border1
const unsigned gap_max_safe_len
const unsigned set_array_shift
unsigned short gap_word_t
const unsigned rs3_border1_1
const unsigned set_block_plane_size
const unsigned rs3_border0
const unsigned gap_max_bits
const unsigned set_top_array_size
const word_t all_bits_mask
const unsigned set_block_shift
const unsigned set_word_mask
const unsigned bits_in_block
static const unsigned _multiply[32]
static const unsigned _v[3]
MAJOR.MINOR.PATCH version components.
static const char _p[]
Version as a text.
Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers.
static const unsigned char _count[256]
Structure keeps all-left/right ON bits masks.
static const unsigned _left[32]
static const unsigned _right[32]
Structure keeps index of first right 1 bit for every byte.
static const signed char _idx[256]
Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets.
static const gap_word_t _len[bm::gap_levels]
Non-linear size growth GAP lengths table.
static const gap_word_t _len[bm::gap_levels]
Default GAP lengths table.
static const gap_word_t _len[bm::gap_levels]
static ByteOrder byte_order()
Structure for LZCNT constants (4-bit)
static unsigned char const _lut[16]
Structure for TZCNT constants.
static unsigned char const _lut[37]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4