code: def add_final_live(self, print_progress=True, print_func=None):
          
  
          # Initialize quantities/
          if print_func is None:
              print_func = print_fn
  
          # Add remaining live points to samples.
          ncall = self.ncall
          it = self.it - 1
          for i, results in enumerate(self.add_live_points()):
              (worst, ustar, vstar, loglstar, logvol, logwt,
               logz, logzvar, h, nc, worst_it, boundidx, bounditer,
               eff, delta_logz) = results
              if delta_logz > 1e6:
                  delta_logz = np.inf
              if logz <= -1e6:
                  logz = -np.inf
  
              # Print progress.
              if print_progress:
                  print_func(results, it, ncall, add_live_it=i+1, dlogz=0.01)
docs: **A wrapper that executes the loop adding the final live points.**
          Adds the final set of live points to the pre-existing sequence of
          dead points from the current nested sampling run.
  
          Parameters
          ----------
          print_progress : bool, optional
              Whether or not to output a simple summary of the current run that
              updates with each iteration. Default is `True`.
  
          print_func : function, optional
              A function that prints out the current state of the sampler.
              If not provided, the default :meth:`results.print_fn` is used.