public void test(QRegister init, QCircuit circuit) {

    resetCounter();
    for (int i = 0; i < iterations; i++) {
      QRegister qr = new QRegister(init);
      QRegister output = circuit.compute(qr);
      //      QCircuit measurement = new QCircuit();
      //      measurement.addStage(new Measurement(qr.getSize()));
      //       output = measurement.compute(output);
      String result = output.dirac();
      addMeasured(output);
    }
  }
 public void compareMode(QRegister expectedMode) {
   int max = -1;
   QRegister mode = null;
   for (QRegister s : measured.keySet()) {
     if (measured.get(s) > max) {
       max = measured.get(s);
       mode = s;
     }
   }
   if (!expectedMode.equals(mode))
     fail("Most frequent result is " + mode + " (expected: " + expectedMode + ")");
 }