package edu.cmu.graphchi.walks; class IntLocalWalkBuffer extends LocalWalkBuffer { int[] walks; IntLocalWalkBuffer() { super(); walks = new int[DEFAULT_SIZE]; } public void add(int walk, int destination, boolean trackBit) { if (idx == walks.length) { int[] tmp = walks; walks = new int[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) { IntWalkManager manager = (IntWalkManager) walkManager; for(int i=0; i<idx; i++) { manager.moveWalkUnsafe(walks[i], walkBufferDests[i], trackBits[i]); } walks = null; walkBufferDests = null; trackBits = null; } }