| 57 | namespace NSplitSelection { |
| 58 | |
| 59 | struct TFeatureValues { |
| 60 | // Values could contain values that are equal to DefaultValue, but don't add it explicitly |
| 61 | TVector<float> Values; |
| 62 | bool ValuesSorted; |
| 63 | TMaybe<TDefaultValue<float>> DefaultValue; |
| 64 | |
| 65 | public: |
| 66 | explicit TFeatureValues( |
| 67 | TVector<float>&& values, |
| 68 | bool valuesSorted = false, |
| 69 | TMaybe<TDefaultValue<float>> defaultValue = Nothing()) |
| 70 | : Values(std::move(values)) |
| 71 | , ValuesSorted(valuesSorted) |
| 72 | , DefaultValue(std::move(defaultValue)) |
| 73 | {} |
| 74 | }; |
| 75 | |
| 76 | /* Note: memory for features.Values argument is not included, only memory that could be allocated |
| 77 | * inside BestSplit |
no outgoing calls
no test coverage detected