| 36 | } |
| 37 | |
| 38 | void TIncrementalChecksumCalcer::AddBlockSum(ui32 sum, int size) { |
| 39 | for (int k = 0; k < Offset; ++k) |
| 40 | sum = (sum >> 24) + ((sum & 0xffffff) << 8); |
| 41 | TotalSum += sum; |
| 42 | |
| 43 | Offset = (Offset + size) & 3; |
| 44 | } |
| 45 | |
| 46 | ui32 TIncrementalChecksumCalcer::CalcBlockSum(const void* p, int size) { |
| 47 | i64 sum = 0; |