--- /dev/null
+package ofc.generators.onetep
+import ofc.codegen.NullStatement
+
+class DataSpaceIndexBinding(operand: DataSpace) extends DataSpace {
+ def getSpatialIndices = operand.getSpatialIndices
+ def getDiscreteIndices = Nil
+ def getDataValue = operand.getDataValue
+ def getSuffixFragment = operand.getSuffixFragment
+}
--- /dev/null
+package ofc.generators.onetep
+import ofc.codegen.NullStatement
+
+class IterationSpaceIndexBinding(operand: IterationSpace) extends IterationSpace {
+ def getOperands = operand.getOperands
+ def getSpatialIndices = operand.getSpatialIndices
+ def getDiscreteIndices = Nil
+ def getDataValue = operand.getDataValue
+ def getReaderFragment = operand.getReaderFragment
+ def getSuffixFragment = operand.getSuffixFragment
+}
for(i <- indices zip dataSpace.getDiscreteIndices)
indexBindings.add(i._1, i._2)
- dataSpace
+ dataSpace match {
+ case (dataSpace: DataSpace) => new DataSpaceIndexBinding(dataSpace)
+ case iterationSpace => new IterationSpaceIndexBinding(iterationSpace)
+ }
}
def buildExpression(term: parser.Expression) : IterationSpace = {