ucar.nc2.iosp
Class IndexChunkerTiled

java.lang.Object
  extended by 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
Author:
caron

Constructor Summary
IndexChunkerTiled(Section dataSection, Section wantSection)
          Constructor.
 
Method Summary
 long getTotalNelems()
           
 boolean hasNext()
           
 IndexChunker.Chunk next()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.