code: def hlog(x, b=500, r=_display_max, d=_l_mmax):
      
      hlog_fun = _make_hlog_numeric(b, r, d)
      if not hasattr(x, '__len__'):  # if transforming a single number
          y = hlog_fun(x)
      else:
          n = len(x)
          if not n:  # if transforming empty container
              return x
          else:
              y = hlog_fun(x)
      return y
docs: Base 10 hyperlog transform.
  
      Parameters
      ----------
      x : num | num iterable
          values to be transformed.
      b : num
          Parameter controling the location of the shift
          from linear to log transformation.
      r : num (default = 10**4)
          maximal transformed value.
      d : num (default = log10(2**18))
          log10 of maximal possible measured value.
          hlog_inv(r) = 10**d
  
      Returns
      -------
      Array of transformed values.