public Chunk next() { IndexChunker.Chunk result = null; if (needInner > 0) { result = nextInner(false, 0); } else { result = nextOuter(); int nelems = getMaxElem( result.getSrcElem()); if (nelems < result.getNelems()) result = nextInner(true, nelems); } done += result.getNelems(); doneInner += result.getNelems(); needInner -= result.getNelems(); if (debugNext) System.out.println(" next chunk: " + result); return result; }
public Chunk next() { IndexChunker.Chunk result; if (needInner > 0) { result = nextInner(false, 0); } else { result = nextOuter(); int nelems = getMaxElem( result.getSrcElem()); if (nelems < result.getNelems()) result = nextInner(true, nelems); } done += result.getNelems(); doneInner += result.getNelems(); needInner -= result.getNelems(); if (debugNext) System.out.println(" next chunk: " + result); return result; }
public Chunk next() { IndexChunker.Chunk result; if (needInner > 0) { result = nextInner(false, 0); } else { result = nextOuter(); int nelems = getMaxElem( result.getSrcElem()); if (nelems < result.getNelems()) result = nextInner(true, nelems); } done += result.getNelems(); doneInner += result.getNelems(); needInner -= result.getNelems(); if (debugNext) System.out.println(" next chunk: " + result); return result; }
private IndexChunker.Chunk nextInner(boolean first, int nelems) { if (first) { chunkInner.setNelems(nelems); chunkInner.setDestElem( chunkOuter.getDestElem()); needInner = chunkOuter.getNelems(); doneInner = 0; } else { chunkInner.incrDestElem( chunkInner.getNelems()); // increment using last chunks' value nelems = getMaxElem( chunkOuter.getSrcElem() + doneInner); nelems = Math.min(nelems, needInner); chunkInner.setNelems(nelems); // set this chunk's value } chunkInner.setSrcElem( chunkOuter.getSrcElem() + doneInner); chunkInner.setSrcPos( getFilePos( chunkOuter.getSrcElem() + doneInner)); return chunkInner; }
private IndexChunker.Chunk nextInner(boolean first, int nelems) { if (first) { chunkInner.setNelems(nelems); chunkInner.setDestElem( chunkOuter.getDestElem()); needInner = chunkOuter.getNelems(); doneInner = 0; } else { chunkInner.incrDestElem( chunkInner.getNelems()); // increment using last chunks' value nelems = getMaxElem( chunkOuter.getSrcElem() + doneInner); nelems = Math.min(nelems, needInner); chunkInner.setNelems(nelems); // set this chunk's value } chunkInner.setSrcElem( chunkOuter.getSrcElem() + doneInner); chunkInner.setSrcPos( getFilePos( chunkOuter.getSrcElem() + doneInner)); return chunkInner; }
private IndexChunker.Chunk nextInner(boolean first, int nelems) { if (first) { chunkInner.setNelems(nelems); chunkInner.setDestElem( chunkOuter.getDestElem()); needInner = chunkOuter.getNelems(); doneInner = 0; } else { chunkInner.incrDestElem( chunkInner.getNelems()); // increment using last chunks' value nelems = getMaxElem( chunkOuter.getSrcElem() + doneInner); nelems = Math.min(nelems, needInner); chunkInner.setNelems(nelems); // set this chunk's value } chunkInner.setSrcElem( chunkOuter.getSrcElem() + doneInner); chunkInner.setSrcPos( getFilePos( chunkOuter.getSrcElem() + doneInner)); return chunkInner; }