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

Function CalcMemoryForFindBestSplit

library/cpp/grid_creator/binarization.cpp:1824–1853  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1822namespace NSplitSelection {
1823
1824 size_t CalcMemoryForFindBestSplit(
1825 int maxBordersCount,
1826 size_t nonDefaultObjectCount,
1827 const TMaybe<TDefaultValue<float>>& defaultValue,
1828 EBorderSelectionType type) {
1829
1830 switch (type) {
1831 case EBorderSelectionType::Median:
1832 case EBorderSelectionType::UniformAndQuantiles:
1833 return maxBordersCount * sizeof(float)
1834 + (defaultValue ? ((nonDefaultObjectCount + 1) * sizeof(float)) : 0);
1835 case EBorderSelectionType::Uniform:
1836 return maxBordersCount * sizeof(float);
1837 case EBorderSelectionType::GreedyLogSum:
1838 case EBorderSelectionType::GreedyMinEntropy:
1839 return CalcMemoryForFindBestSplitGreedyBinarizer(
1840 maxBordersCount,
1841 nonDefaultObjectCount,
1842 defaultValue);
1843
1844 case EBorderSelectionType::MinEntropy:
1845 case EBorderSelectionType::MaxLogSum:
1846 return CalcMemoryForFindBestSplitExactBinarizer(
1847 maxBordersCount,
1848 nonDefaultObjectCount,
1849 defaultValue);
1850 default:
1851 Y_UNREACHABLE();
1852 }
1853 }
1854
1855}

Callers 1

Tested by

no test coverage detected