class_docstr: Proxy for ClockedSamplers.
docstr: Get next point.
  
  Parameters
  ----------
  region: MLFriends
      region.
  Lmin: float
      loglikelihood threshold
  us: array of vectors
      current live points
  Ls: array of floats
      current live point likelihoods
  transform: function
      transform function
  loglike: function
      loglikelihood function
  ndraw: int
      number of draws to attempt simultaneously.
  plot: bool
      whether to produce debug plots.
docstr_tok: ["Get","next","point",".","Parameters","--","--","--","--","--","region",":","MLFriends","region",".","Lmin",":","float","loglikelihood","threshold","us",":","array","of","vectors","current","live","points","Ls",":","array","of","floats","current","live","point","likelihoods","transform",":","function","transform","function","loglike",":","function","loglikelihood","function","ndraw",":","int","number","of","draws","to","attempt","simultaneously",".","plot",":","bool","whether","to","produce","debug","plots","."]
code: def __next__(
      self,
      region,
      Lmin,
      us,
      Ls,
      transform,
      loglike,
      ndraw=40,
      plot=False,
  ):
      """Get next point.
  
      Parameters
      ----------
      region: MLFriends
          region.
      Lmin: float
          loglikelihood threshold
      us: array of vectors
          current live points
      Ls: array of floats
          current live point likelihoods
      transform: function
          transform function
      loglike: function
          loglikelihood function
      ndraw: int
          number of draws to attempt simultaneously.
      plot: bool
          whether to produce debug plots.
  
      """
      # find most recent point in history conforming to current Lmin
      ui, Li = self.last
      if Li is not None and not Li >= Lmin:
          # print("wandered out of L constraint; resetting", ui[0])
          ui, Li = None, None
  
      if Li is not None and not region.inside(ui.reshape((1, -1))):
          # region was updated and we are not inside anymore
          # so reset
          ui, Li = None, None
  
      if Li is None:
          self.startup(region, us, Ls)
      if self.sampler is None:
          self.start_direction(region)
  
      self.stepper.prepare_jump()
      Llast = None
      gaps = {}
      while True:
          if not self.sampler.is_done():
              u, is_independent = self.sampler.next(Llast=Llast)
              if not is_independent and u is not None:
                  # should evaluate point
                  Llast = None
                  if region.inside(u.reshape((1, -1))):
                      p = transform(u.reshape((1, -1)))
                      L = loglike(p)[0]
                      self.ncalls += 1
                      if L > Lmin:
                          Llast = L
                  else:
                      Llast = None
          else:
              u, i = self.stepper.check_gaps(gaps)
              if u is None:
                  unew, Lnew = self.stepper.make_jump(gaps)
                  break  # done!
              # check that u is allowed:
              assert i not in gaps
              gaps[i] = True
              if region.inside(u.reshape((1, -1))):
                  p = transform(u.reshape((1, -1)))
                  L = loglike(p)[0]
                  self.ncalls += 1
                  if L > Lmin:
                      # point is OK
                      gaps[i] = False
                      unew, Lnew = u, L
                      break
  
      # if self.log: print("after %d calls, jumped to" % self.ncalls, unew)
      assert np.isfinite(unew).all(), unew
      assert np.isfinite(Lnew).all(), Lnew
  
      self.accumulate_statistics()
      # forget sampler
      self.last = unew, Lnew
      self.sampler = None
      self.stepper = None
      # done, reset:
      # print("got a sample:", unew)
      if self.nrestarts >= self.nnewdirections:
          xnew = transform(unew)
          self.adjust_scale(maxlength=len(unew) ** 0.5)
          # forget as starting point
          self.last = None, None
          self.nrestarts = 0
          return unew, xnew, Lnew, self.ncalls
      else:
          return None, None, None, 0
  
imports: import numpy
  import matplotlib.pyplot
  from ultranest.samplingpath import SamplingPath, ContourSamplingPath, extrapolate_ahead
  from ultranest.stepsampler import StepSampler
  from ultranest.stepsampler import generate_region_oriented_direction, generate_region_random_direction, generate_random_direction
  from ultranest.flatnuts import ClockedStepSampler, ClockedBisectSampler, ClockedNUTSSampler
  from ultranest.flatnuts import SingleJumper, DirectJumper, IntervalJumper
label_desc: Use image node_id 7 for calling the OtherSamplerProxy obj's underlying member method code with example usage: obj.__next__(region, Lmin, us, Ls, transform, loglike, ndraw, plot) and returns: unew,  xnew,  Lnew,  self, None,  None,  None,  int