Listing 2: Two array controllers.

define NUM_PPUS 1000
controller ZeroToOne    // 1000 intervals between 0 and 1
 {
   double Interval;     // result for each interval
   unit IntervalUnit[NUM_PPUS];
// 1000 PPU - one for each interval
 }
controller ComputePI    // Controller for result unit
 {
   unit PIUnit[1];      // Unit where PI value is computed
 }