class_docstr: Nested sampler with reactive exploration strategy.
  
  Storage & resume capable, optionally MPI parallelised.
class_docstr_tok: ["Nested","sampler","with","reactive","exploration","strategy",".","Storage","&","resume","capable",",","optionally","MPI","parallelised","."]
docstr: Expand nodes before `Lmin` to have `nnodes_needed`.
  
  Returns
  --------
  Llo: float
      lowest parent sampled (-np.inf if sampling from root)
  Lhi: float
      Lmin
  target_min_num_children: int
      number of children that need to be maintained between Llo, Lhi
docstr_tok: ["Expand","nodes","before","`","Lmin","`","to","have","`","nnodes_needed","`",".","Returns","--","--","--","--","Llo",":","float","lowest","parent","sampled","(","-np.inf","if","sampling","from","root",")","Lhi",":","float","Lmin","target_min_num_children",":","int","number","of","children","that","need","to","be","maintained","between","Llo",",","Lhi"]
code: def _expand_nodes_before(
      self, Lmin, nnodes_needed, update_interval_ncall
  ):
      """Expand nodes before `Lmin` to have `nnodes_needed`.
  
      Returns
      --------
      Llo: float
          lowest parent sampled (-np.inf if sampling from root)
      Lhi: float
          Lmin
      target_min_num_children: int
          number of children that need to be maintained between Llo, Lhi
  
      """
      self.pointstore.reset()
      parents, weights = find_nodes_before(self.root, Lmin)
      target_min_num_children = self._widen_nodes(
          parents, weights, nnodes_needed, update_interval_ncall
      )
      if len(parents) == 0:
          Llo = -np.inf
      else:
          Llo = min(n.value for n in parents)
      Lhi = Lmin
      return Llo, Lhi, target_min_num_children
  
imports: from __future__ import print_function, division
  import os
  import sys
  import csv
  import json
  import operator
  import time
  import warnings
  from numpy import log, exp, logaddexp
  import numpy
  from .utils import create_logger, make_run_dir, resample_equal, vol_prefactor, vectorize, listify
  from .utils import is_affine_transform, normalised_kendall_tau_distance, distributed_work_chunk_size
  from ultranest.mlfriends import MLFriends, AffineLayer, ScalingLayer, find_nearby, WrappingEllipsoid, RobustEllipsoidRegion
  from .store import HDF5PointStore, TextPointStore, NullPointStore
  from .viz import get_default_viz_callback
  from .ordertest import UniformOrderAccumulator
  from .netiter import PointPile, SingleCounter, MultiCounter, BreadthFirstIterator, TreeNode, count_tree_between, find_nodes_before, logz_sequence
  from .netiter import dump_tree, combine_results
  from .hotstart import get_auxiliary_contbox_parameterization
label_desc: Use image node_id 13 for calling the ReactiveNestedSampler obj's underlying member method code with example usage: obj._expand_nodes_before(Lmin, nnodes_needed, update_interval_ncall) and returns: Llo,  Lhi,  target_min_num_children