code: def _soft_min_max(values, soft_add=1, soft_bounds=1):
      """Returns [min, max + soft_add] if difference of min and max is less
          than the soft bound.
  
      Args:
          values: Iterable of numeric.
          soft_add:  Increment to max if difference is too small.
          soft_bounds:  If difference is smaller than this, add a soft increment.
  
      Returns:
          A list [min, max + soft_add] if abs(max-min) is less than soft bound.
      """
      min_val = min(values)
      max_val = max(values)
  
      diff_val = max_val - min_val
      max_increment = soft_add if abs(diff_val) < soft_bounds else 0
      return [min_val, max_val + max_increment]
  
imports: from ..api.base import ExplainerMixin
  from ..api.templates import FeatureValueExplanation
  from ..utils._explanation import gen_name_from_class, gen_global_selector
  from abc import ABC, abstractmethod
  import numpy
  from ..utils._clean_x import preclean_X
  from ..utils._unify_predict import determine_classes, unify_predict_fn
  from ..utils._unify_data import unify_data
label_desc: Use image node_id 1 for calling a global function with example usage: _soft_min_max(values, soft_add, soft_bounds) and returns: list