def log(x, base=None):
    """ log(x, base=e)
    Logarithmic function.
    """
    _math = infer_math(x)
    if base is None:
        return _math.log(x)
    elif _math == math:
        return _math.log(x, base)
    else:
        # numpy has no option to set a base
        return _math.log(x) / _math.log(base)
def log ( x , base = None ) : _math = infer_math ( x ) if base is None : return _math . log ( x ) elif _math == math : return _math . log ( x , base ) else : return _math . log ( x ) / _math . log ( base )
log(x, base=e)
    Logarithmic function.