code: def span_to_hyper_value(
      lb: Union[List[Any], Tuple[Any, Any], np.ndarray],
      ub: Union[List[Any], Tuple[Any, Any], np.ndarray],
  ) -> np.ndarray:
      """Spans a hyper-value between lower and upper bounds.
  
      Args:
          lb: Lower bounds.
          ub: Upper bounds.
  
      Returns:
          (np.ndarray): The output of the incoming objective function with a spanned input.
  
      """
  
      def _span_to_hyper_value(f: callable) -> callable:
          """Actually decorates the incoming objective function.
  
          Args:
              f: Incoming objective function.
  
          Returns:
              (callable): The wrapped objective function.
  
          """
  
          @wraps(f)
          def __span_to_hyper_value(x: np.ndarray) -> np.ndarray:
              """Wraps the objective function for calculating its output.
  
              Args:
                  x: Array of hyper-values.
  
              Returns:
                  (np.ndarray): The objective function itself.
  
              """
  
              x = span(x, lb, ub)
  
              return f(x)
  
          return __span_to_hyper_value
  
      return _span_to_hyper_value
  
imports: from functools import wraps
  from typing import Any, List, Tuple, Union
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: span_to_hyper_value(lb, ub) and returns: _span_to_hyper_value, __span_to_hyper_value, f