for(dim <- 0 to 2) {
var component : Expression[FloatType] = new FloatLiteral(0.0)
for(vec <- 0 to 2) {
- val vector = OnetepTypes.CellInfo.public % OnetepTypes.CellInfo.latticeReciprocal(vec)
+ val vector = OnetepTypes.FFTBoxInfo.public % OnetepTypes.FFTBoxInfo.latticeReciprocal(vec)
component = component + vector % OnetepTypes.Point.coord(dim) * new Conversion[IntType, FloatType](indices(vec) - 1)
}
loops(0) += new AssignStatement(reciprocalVector(dim), component)
object FFTBoxInfo extends StructType {
val public = new NamedUnboundVarSymbol[StructType]("pub_fftbox", FFTBoxInfo)
+ val latticeReciprocal = for(dim <- 1 to 3) yield new FieldSymbol[StructType]("b"+dim, Point)
val totalPts = {for (dim <- 1 to 3) yield new FieldSymbol[IntType]("total_pt"+dim)}.toSeq
def getFortranAttributes = Set("type(FFTBOX_INFO)")
}