Exemplo n.º 1
0
void AllVersionsChunk::setInputChunk(ConstChunk const& inputChunk, VersionID version)
{
    DelegateChunk::setInputChunk(inputChunk);
    isClone = true;
    currVersion = version;
    prependVersion(firstPos, inputChunk.getFirstPosition(false), version);
    prependVersion(lastPos, inputChunk.getLastPosition(false), version);
    prependVersion(firstPosWithOverlap, inputChunk.getFirstPosition(true), version);
    prependVersion(lastPosWithOverlap, inputChunk.getLastPosition(true), version);
}
Exemplo n.º 2
0
 void ShiftChunk::setInputChunk(ConstChunk const& inputChunk)
 {
     DelegateChunk::setInputChunk(inputChunk);
     isClone = true;
     array.in2out(inputChunk.getFirstPosition(false), firstPos);
     array.in2out(inputChunk.getLastPosition(false), lastPos);
 }
Exemplo n.º 3
0
    void ConcatChunk::setInputChunk(ConstChunk const& inputChunk)
    {
        DelegateChunk::setInputChunk(inputChunk);
        ConcatArrayIterator const& arrayIterator((ConcatArrayIterator const&)iterator);
        Coordinate shift = arrayIterator.shift;
        isClone = inputChunk.getArrayDesc().getDimensions()[CONCAT_DIM].getChunkOverlap() == 0;
        direct = true;

        firstPos = inputChunk.getFirstPosition(false);
        firstPosWithOverlap = inputChunk.getFirstPosition(true);
        lastPos = inputChunk.getLastPosition(false);
        lastPosWithOverlap = inputChunk.getLastPosition(true);

        if (shift != 0) { 
            firstPos[CONCAT_DIM] += shift;
            firstPosWithOverlap[CONCAT_DIM] += shift;
            lastPos[CONCAT_DIM] += shift;
            lastPosWithOverlap[CONCAT_DIM] += shift;
        }
    }