next up previous
Next: Data-parallel example: comments Up: Experiments with ``HPJava'' Previous: Data-parallel example: initialization

Data-parallel example: main loop

  for (int k=0; k<NITER; k++) {

    // Get neighbours

    shift(cn_, w, r, 0,  1, CYCLIC);
    shift(cp_, w, r, 0, -1, CYCLIC);
    ... etc, copy arrays for 8 neighbours

    // Life update rule

    for(int i=0; i<w.length; i++) {
      switch (cn_[i] + cp_[i] + c_n[i] + c_p[i] +
              cnn[i] + cnp[i] + cpn[i] + cpp[i]) {
        case 2 : break;
        case 3 : w[i] = 1; break;
        default: w[i] = 0; break;
      }
    }
  }



Bryan Carpenter
Sun Jan 5 14:31:59 EST 1997