Exemplo n.º 1
0
void PWSCircuit::
evalGates(const vector<int>& start, const vector<int>& end)
{
  // We don't deal with input gates.
  for (size_t lNum= 1; lNum < end.size(); lNum++)
  {
    CircuitLayer& prevLayer = getGatePosLayer(lNum - 1);
    CircuitLayer& layer = getGatePosLayer(lNum);

    int gNumStart = start.size() > lNum ? start[lNum] : 0;
    for (int gNum = gNumStart; gNum < end[lNum]; gNum++)
    {
      Gate rop = layer.gate(gNum);
      rop.computeGateValue(prevLayer.gate(rop.wiring.in1), prevLayer.gate(rop.wiring.in2));
    }
  }
}