MCPcopy Create free account
hub / github.com/apache/arrow / DefLevelsToBitmap

Function DefLevelsToBitmap

cpp/src/parquet/level_conversion.cc:131–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129} // namespace
130
131void DefLevelsToBitmap(const int16_t* def_levels, int64_t num_def_levels,
132 LevelInfo level_info, ValidityBitmapInputOutput* output) {
133 // It is simpler to rely on rep_level here until PARQUET-1899 is done and the code
134 // is deleted in a follow-up release.
135 if (level_info.rep_level > 0) {
136#if defined(ARROW_HAVE_RUNTIME_BMI2)
137 if (CpuInfo::GetInstance()->HasEfficientBmi2()) {
138 return DefLevelsToBitmapBmi2WithRepeatedParent(def_levels, num_def_levels,
139 level_info, output);
140 }
141#endif
142 standard::DefLevelsToBitmapSimd</*has_repeated_parent=*/true>(
143 def_levels, num_def_levels, level_info, output);
144 } else {
145 standard::DefLevelsToBitmapSimd</*has_repeated_parent=*/false>(
146 def_levels, num_def_levels, level_info, output);
147 }
148}
149
150uint64_t TestOnlyExtractBitsSoftware(uint64_t bitmap, uint64_t select_bitmap) {
151 return standard::ExtractBitsSoftware(bitmap, select_bitmap);

Callers 5

TESTFunction · 0.85
BuildArrayMethod · 0.85

Tested by 1

TESTFunction · 0.68