Package ucar.nc2.iosp
Class IndexChunkerTiled
- java.lang.Object
-
- ucar.nc2.iosp.IndexChunkerTiled
-
public class IndexChunkerTiled extends Object
Assume that the data is stored divided into sections, described by dataSection. All the data within a dataSection is stored contiguously, in a regular layout. Assume dataSection strides must be = 1, that is, the stored data is not strided. The user asks for some section, wantSection (may have strides). For each dataSection that intersects wantSection, a IndexChunkerTiled is created, which figures out the optimal access pattern, based on reading contiguous runs of data. Each IndexChunkerTiled handles only one dataSection. Typically the cllaing program loops over all dataSections that intersect the wanted section. Both dataSection and wantSection refer to the variable's overall shape.- Since:
- Jan 9, 2008
-
-
Constructor Summary
Constructors Constructor Description IndexChunkerTiled(Section dataSection, Section wantSection)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getTotalNelems()
boolean
hasNext()
IndexChunker.Chunk
next()
String
toString()
-
-
-
Constructor Detail
-
IndexChunkerTiled
public IndexChunkerTiled(Section dataSection, Section wantSection) throws InvalidRangeException
Constructor. Assume varSection.intersects(wantSection).- Parameters:
dataSection
- the section of data we actually have. must have all ranges with stride = 1.wantSection
- the wanted section of data, it will be intersected with dataSection. dataSection.intersects(wantSection) must be true- Throws:
InvalidRangeException
- if ranges are malformed
-
-
Method Detail
-
getTotalNelems
public long getTotalNelems()
-
hasNext
public boolean hasNext()
-
next
public IndexChunker.Chunk next()
-
-