Ejemplo n.º 1
0
  void operator()(GNode& src, Galois::UserContext<GNode>& ctx) {
    int increment = 1;
    acquire(src);
    if (discharge(src, ctx)) {
      increment += BETA;
    }

    int v = *counter.local.getLocal() += increment;
    if (app.global_relabel_interval > 0 && v >= limit) {
      app.should_global_relabel = true;
      ctx.breakLoop();
      return;
    }
  }