class_docstr: Base class for various iteration possibilities. This decides what configuration should be run on what budget
  next. Typical choices are e.g. successive halving. Results from runs are processed and (depending on the
  implementations) determine the further development.
docstr: function to register the result of a job
  
  This function is called from HB_master, don't call this from
  your script.
docstr_tok: ["function","to","register","the","result","of","a","job","This","function","is","called","from","HB_master",",","do","n't","call","this","from","your","script","."]
code: def register_result(self, job, skip_sanity_checks=False):
      """
      function to register the result of a job
  
      This function is called from HB_master, don't call this from
      your script.
      """
  
      if self.is_finished:
          raise RuntimeError(
              "This HB iteration is finished, you can't register more results!"
          )
  
      config_id = job.id
      config = job.kwargs["config"]
      budget = job.kwargs["budget"]
      timestamps = job.timestamps
      result = job.result
      exception = job.exception
  
      d = self.data[config_id]
  
      if not skip_sanity_checks:
          assert d.config == config, "Configurations differ!"
          assert (
              d.status == "RUNNING"
          ), "Configuration wasn't scheduled for a run."
          assert d.budget == budget, "Budgets differ (%f != %f)!" % (
              self.data[config_id]["budget"],
              budget,
          )
  
      d.time_stamps[budget] = timestamps
      d.results[budget] = result
  
      if (not job.result is None) and np.isfinite(result["loss"]):
          d.status = "REVIEW"
      else:
          d.status = "CRASHED"
  
      d.exceptions[budget] = exception
      self.num_running -= 1
  
imports: import sys
  import logging
  import numpy
  import pdb
  from hpbandster.core.dispatcher import Job
label_desc: Use image node_id 3 for calling the BaseIteration obj's underlying member method code with example usage: obj.register_result(job, skip_sanity_checks) without return types