int DeDup::deDuplicateSubBlocks(char* buffer, int curPointer, int inc, long unsigned int* segLength) { int nextBlockPointer = curPointer + (inc * BLOCK_X); int tempSeg = *segLength; curPointer += inc; tempSeg -= inc; int blockCounter = 1; while(curPointer != nextBlockPointer && BLOCK_S < tempSeg) { Index subNode(blockCounter, (buffer + curPointer), BLOCK_S); if(nodeExists(std::get<0>(subNode.getNode()))) { *segLength = tempSeg; return curPointer; } else { curPointer += inc; tempSeg -= inc; } } return 0;//TODO: return Error cases }
Tree subNums(Tree a, Tree b) { Tree r = tree(subNode(a->node(),b->node())); //cerr.flags(ios::showpoint); cerr << "subNums " << *a << "-" << *b << " -> " << *r << endl; return r; }