| 18 | } |
| 19 | |
| 20 | void NCatboostCuda::TDataPermutation::FillGroupOrder(TVector<ui32>& groupOrder) const { |
| 21 | CB_ENSURE_INTERNAL(DataProvider->MetaInfo.HasGroupId, "FillGroupOrder supports only datasets with group ids"); |
| 22 | if (Index != IdentityPermutationId()) { |
| 23 | Shuffle(GetSeed(), BlockSize, DataProvider->ObjectsGrouping->GetGroupCount(), &groupOrder); |
| 24 | } else { |
| 25 | groupOrder.yresize(DataProvider->ObjectsGrouping->GetGroupCount()); |
| 26 | std::iota(groupOrder.begin(), groupOrder.end(), 0); |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | void NCatboostCuda::TDataPermutation::FillInversePermutation(TVector<ui32>& permutation) const { |
| 31 | TVector<ui32> order; |
no test coverage detected