BitVecRuns
Description
Vec-flavoured handle for a sequence of BitVecRuns. Consumed by the Vec form of BitVecRunLengths.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Math.h:252:
///
u64 bitvec_run_lengths_raw(BitVec *bv, u64 *runs, bool *values, u64 max_runs);
bool bitvec_run_lengths_vec(BitVec *bv, BitVecRuns *out);
#define BitVecRunLengths(...) OVERLOAD(BitVecRunLengths, __VA_ARGS__)- In
BitVec.c:1372:
}
bool bitvec_run_lengths_vec(BitVec *bv, BitVecRuns *out) {
ValidateBitVec(bv);
if (!out || !out->allocator) {- In
BitVec.c:1375:
ValidateBitVec(bv);
if (!out || !out->allocator) {
LOG_FATAL("output BitVecRuns is NULL or uninitialized");
} BitVecPush(&bv, true);
BitVecRuns runs = VecInitT(runs, base);
bool result = BitVecRunLengths(&bv, &runs);
result = result && VecLen(&runs) == 5; WriteFmt("Testing BitVecRunLengths (vec) with NULL bitvector\n");
BitVecRuns runs = VecInitT(runs, base);
BitVecRunLengths(NULL, &runs);
return true; // Should never reach here.
Last updated on