HPC Magazine March 2014 - OpenSPL, the Open Spatial Programming Language

Listing 3 - Moving Average Kernel example.


class MovingAvgSimpleKernel extends Kernel {
  MovingAvgSimpleKernel() {
    SCSVar x = io.input("x", scsFloat(7, 17));
    SCSVar prev = stream.offset(x, --1);
    SCSVar next = stream.offset(x, 1);
    SCSVar sum = prev + x + next;
    SCSVar result = (sum / 3);
    io.output("y", result, scsFloat(7, 17));
  }
}