MCPcopy Create free account
hub / github.com/catboost/catboost / ProjectExecPlan

Function ProjectExecPlan

library/cpp/par/distr_tree.cpp:307–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

305 }
306
307 void ProjectExecPlan(TVector<ui16>* res, const TVector<bool>& selectedComps) {
308 for (int ptr = 0; ptr < res->ysize();) {
309 ui16 comp = (*res)[ptr];
310 if (comp >= N_GROUP_FIRST_CODE) {
311 ++ptr;
312 continue;
313 }
314 if (comp >= selectedComps.ysize() || selectedComps[comp] == false) {
315 res->erase(res->begin() + ptr);
316 while (ptr < res->ysize() && (*res)[ptr] == N_GROUP_END && (*res)[ptr - 1] == N_GROUP_START) {
317 res->erase(res->begin() + ptr - 1, res->begin() + ptr + 1);
318 --ptr;
319 }
320 } else
321 ++ptr;
322 }
323 }
324
325 void GetSelectedCompList(TVector<bool>* res, const TVector<ui16>& plan) {
326 res->resize(0);

Callers 2

ScheduleJobRequestFunction · 0.85
RescheduleJobRequestFunction · 0.85

Calls 3

ysizeMethod · 0.45
eraseMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected