in src/sizes/sizes_tags.cpp [134:160]
static bool shouldMerge(const Tag &referree, const Tag &referrer) {
if (referrer.array.getSize() > referree.array.getSize()) {
return true;
}
query_size_t i = 0;
query_size_t j = 0;
while (i < referree.array.getSize() && j < referrer.array.getSize()) {
if (referree.array[i].index == referrer.array[j].index) {
if (referree.array[i].state == referrer.array[j].state) {
i++;
j++;
} else {
return true;
}
} else if (referree.array[i].index < referrer.array[j].index) {
i++;
} else {
return true;
}
}
if (j < referrer.array.getSize()) {
return true;
}
return false;
}