def print_state(self, hmodel, iterid, lap, evBound, doFinal=False, status='', rho=None):
    printEvery = self.outputParams['printEvery']
    if printEvery <= 0:
      return None
    doPrint = iterid < 3 or isEvenlyDivisibleFloat(lap, printEvery)
  
    if rho is None:
      rhoStr = ''
    else:
      rhoStr = '%.4f |' % (rho)

    if iterid == lap:
      lapStr = '%7d' % (lap)
    else:
      lapStr = '%7.3f' % (lap)

    maxLapStr = '%d' % (self.algParams['nLap'] + self.algParams['startLap'])
    
    logmsg = '  %s/%s after %6.0f sec. | K %4d | ev % .9e %s'
    # Print asterisk for early iterations of memoized,
    #  before the method has made one full pass thru data
    if 0 > self.__class__.__name__.count('Memo'):
      if lap < self.algParams['startLap'] + 1.0:
        logmsg = '  %s/%s after %6.0f sec. | K %4d |*ev % .9e %s'

    logmsg = logmsg % (lapStr, 
                        maxLapStr,
                        self.get_elapsed_time(),
                        hmodel.allocModel.K,
                        evBound, 
                        rhoStr)

    if (doFinal or doPrint) and iterid not in self.PrintIters:
      self.PrintIters.add(iterid)
      Log.info(logmsg)
    if doFinal:
      Log.info('... done. %s' % (status))
dataset/ETHPy150Open daeilkim/refinery/refinery/bnpy/bnpy-dev/bnpy/learnalg/LearnAlg.py/LearnAlg.print_state/swapped operands of `>`