package edu.cmu.graphchi.walks; class LongLocalWalkBuffer extends LocalWalkBuffer { long[] walks; LongLocalWalkBuffer() { super(); walks = new long[DEFAULT_SIZE]; } public void add(long walk, int destination, boolean trackBit) { if (idx == walks.length) { long[] tmp = walks; walks = new long[tmp.length * 2]; System.arraycopy(tmp, 0, walks, 0, tmp.length); expandArrays(); } walkBufferDests[idx] = destination; walks[idx] = walk; trackBits[idx] = trackBit; idx++; } @Override public void purge(WalkManager walkManager) { LongWalkManager manager = (LongWalkManager) walkManager; for(int i=0; i<idx; i++) { manager.moveWalkUnsafe(walks[i], walkBufferDests[i], trackBits[i]); } walks = null; walkBufferDests = null; trackBits = null; } }