<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def hlog(x, b=500, r=_display_max, d=_l_mmax):
 """ 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. """

    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