docstr: Find the objective function output reference table
code: def fun_ref(self):
      """
      Find the objective function output reference table
      """
      # TODO: Replace with cached wrapper
  
      # Note: This process can be pooled easily
      # Obj. function returns to be used as reference table.:
      f_cache_bool = False
      if self.fn > 0:  # Store old function evaluations
          Ftemp = self.F
          fn_old = self.fn
          f_cache_bool = True
  
      self.F = np.zeros(np.shape(self.C)[0])
      # NOTE: It might be easier to replace this with a cached
      #      objective function
      for i in range(self.fn, np.shape(self.C)[0]):
          eval_f = True
          if self.g_cons is not None:
              for g in self.g_cons:
                  if g(self.C[i, :], *self.args) < 0.0:
                      eval_f = False
                      break  # Breaks the g loop
  
          if eval_f:
              self.F[i] = self.func(self.C[i, :], *self.args)
              self.fn += 1
          elif self.infty_cons_sampl:
              self.F[i] = np.inf
              self.fn += 1
      if f_cache_bool:
          if fn_old > 0:  # Restore saved function evaluations
              self.F[0:fn_old] = Ftemp
  
      return self.F
  
imports: import numpy
  import time
  import logging
  import warnings
  from scipy import spatial
  from scipy.optimize import OptimizeResult, minimize
  from scipy.optimize._shgo_lib.triangulation import Complex
label_desc: Use image node_id 32 for calling the SHGO obj's underlying member method code with example usage: obj.fun_ref() and returns: self