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