| 1002 | } |
| 1003 | |
| 1004 | ui32 NCB::TQuantizedObjectsDataProvider::CalcFeaturesCheckSum(NPar::ILocalExecutor* localExecutor) const { |
| 1005 | if (!Data.CachedFeaturesCheckSum) { |
| 1006 | ui32 checkSum = 0; |
| 1007 | |
| 1008 | checkSum = Data.QuantizedFeaturesInfo->CalcCheckSum(); |
| 1009 | checkSum = CalcFeatureValuesCheckSum<EFeatureType::Float>( |
| 1010 | checkSum, |
| 1011 | *CommonData.FeaturesLayout, |
| 1012 | Data.FloatFeatures, |
| 1013 | localExecutor |
| 1014 | ); |
| 1015 | checkSum = CalcFeatureValuesCheckSum<EFeatureType::Categorical>( |
| 1016 | checkSum, |
| 1017 | *CommonData.FeaturesLayout, |
| 1018 | Data.CatFeatures, |
| 1019 | localExecutor |
| 1020 | ); |
| 1021 | |
| 1022 | Data.CachedFeaturesCheckSum = checkSum; |
| 1023 | } |
| 1024 | return *Data.CachedFeaturesCheckSum; |
| 1025 | } |
| 1026 | |
| 1027 | static TCompressedArray LoadAsCompressedArray(IBinSaver* binSaver) { |
| 1028 | ui32 objectCount; |