public void runSalsaIterations()

in graphjet-core/src/main/java/com/twitter/graphjet/algorithms/salsa/SalsaIterations.java [77:102]


  public void runSalsaIterations(SalsaRequest salsaRequest, Random random) {
    LOG.info("SALSA: starting to reset internal state");
    resetWithRequest(salsaRequest, random);
    LOG.info("SALSA: done resetting internal state");

    seedLeftSideForFirstIteration();
    LOG.info("SALSA: done seeding");
    boolean isForwardIteration = true;
    SingleSalsaIteration singleSalsaIteration = leftSalsaIteration;

    for (int i = 0; i < salsaInternalState.getSalsaRequest().getMaxRandomWalkLength(); i++) {
      if (isForwardIteration) {
        singleSalsaIteration.runSingleIteration();
        singleSalsaIteration = rightSalsaIteration;
      } else {
        if (i < salsaInternalState.getSalsaRequest().getMaxRandomWalkLength() - 2) {
          singleSalsaIteration.runSingleIteration();
          singleSalsaIteration = leftSalsaIteration;
        } else {
          singleSalsaIteration.runSingleIteration();
          singleSalsaIteration = finalSalsaIteration;
        }
      }
      isForwardIteration = !isForwardIteration;
    }
  }