Lines Matching defs:oldInfo
81 BlockBuffer oldInfo = {oldBuffer.memory, oldBuffer.length};
84 ret = blockdiff->MakePatch(newInfo, oldInfo, patchSize);
96 const BlockBuffer &oldInfo, std::vector<uint8_t> &patchData, size_t offset, size_t &patchSize)
102 int32_t ret = blockdiff->MakePatch(newInfo, oldInfo, patchSize);
117 const BlockBuffer &oldInfo, std::fstream &patchFile, size_t &patchSize)
121 int32_t ret = blockdiff->MakePatch(newInfo, oldInfo, patchSize);
131 int32_t BlocksDiff::MakePatch(const BlockBuffer &newInfo, const BlockBuffer &oldInfo, size_t &patchSize)
139 suffixArray_->Init(oldInfo);
143 int32_t ret = GetCtrlDatas(newInfo, oldInfo, controlDatas);
275 const BlockBuffer &oldInfo, int64_t &oldScore, int64_t &matchLen)
280 matchLen = suffixArray_->Search(newBuff, { oldInfo.buffer, oldInfo.length }, 0, oldInfo.length, matchPos_);
282 if ((begin + lastOffset_ < static_cast<int64_t>(oldInfo.length))
283 && (oldInfo.buffer[begin + lastOffset_] == newInfo.buffer[begin])) {
290 if ((currentOffset_ + lastOffset_ < static_cast<int64_t>(oldInfo.length)) &&
291 (oldInfo.buffer[currentOffset_ + lastOffset_] == newInfo.buffer[currentOffset_])) {
298 const BlockBuffer &oldInfo, int64_t &lengthFront, int64_t &lengthBack)
305 while (((lastScan_ + i) < currentOffset_) && ((lastPos_ + i) < static_cast<int64_t>(oldInfo.length))) {
306 if (oldInfo.buffer[lastPos_ + i] == newInfo.buffer[lastScan_ + i]) {
319 if (oldInfo.buffer[matchPos_ - i] == newInfo.buffer[currentOffset_ - i]) {
336 oldInfo.buffer[lastPos_ + lengthFront - overlap + i]) {
339 if (newInfo.buffer[currentOffset_ - lengthBack + i] == oldInfo.buffer[matchPos_ - lengthBack + i]) {
353 const BlockBuffer &oldInfo, std::vector<ControlData> &controlDatas)
360 ComputeOldScore(newInfo, oldInfo, oldScore, matchLen);
364 ComputeLength(newInfo, oldInfo, lenFront, lenBack);
372 ctrlData.diffOldStart = &oldInfo.buffer[lastPos_];
513 void SuffixArray<DataType>::Init(const BlockBuffer &oldInfo)
517 InitBuckets(oldInfo, buckets, suffixArrayTemp);
521 for (h = 1; suffixArray_[0] != -(static_cast<DataType>(oldInfo.length) + 1); h += h) {
523 for (i = 0; i < (static_cast<DataType>(oldInfo.length) + 1);) {
540 for (i = 0; i < static_cast<DataType>(oldInfo.length) + 1; i++) {
544 PATCH_DEBUG("SuffixArray::Init %d finish", static_cast<int>(oldInfo.length));
642 const BlockBuffer &oldInfo, int64_t start, int64_t end, int64_t &pos) const
647 BlockBuffer oldStart = {oldInfo.buffer + suffixArray_[start], oldInfo.length - suffixArray_[start]};
648 BlockBuffer oldEnd = {oldInfo.buffer + suffixArray_[end], oldInfo.length - suffixArray_[end]};
660 if (memcmp(oldInfo.buffer + suffixArray_[x],
661 newInfo.buffer, MIN(oldInfo.length - suffixArray_[x], newInfo.length)) < 0) {
662 return Search(newInfo, oldInfo, x, end, pos);
664 return Search(newInfo, oldInfo, start, x, pos);
669 void SuffixArray<DataType>::InitBuckets(const BlockBuffer &oldInfo,
672 suffixArray_.resize(oldInfo.length + 1, 0);
673 suffixArrayTemp.resize(oldInfo.length + 1, 0);
676 for (size_t i = 0; i < oldInfo.length; i++) {
677 buckets[oldInfo.buffer[i]]++;
688 for (i = 0; i < static_cast<DataType>(oldInfo.length); i++) {
689 suffixArray_[++buckets[oldInfo.buffer[i]]] = i;
691 suffixArray_[0] = oldInfo.length;
693 for (i = 0; i < static_cast<DataType>(oldInfo.length); i++) {
694 suffixArrayTemp[i] = buckets[oldInfo.buffer[i]];
696 suffixArrayTemp[oldInfo.length] = 0;