human
Here's a good function header given the following:
I wrote the below code

    AreEqual(round(math.log10((10 ** 1000)), 5), 1000.0)
    AreEqual(round(math.log((10 ** 1000)), 5), 2302.58509)
    AreEqual(round(math.log10(18446744073709551615L), 5), 19.26592)
    AreEqual(round(math.log(18446744073709551615L), 5), 44.36142)
    AreEqual(round(math.log10(18446744073709551616L), 5), 19.26592)
    AreEqual(round(math.log(18446744073709551616L), 5), 44.36142)
    AreEqual(round(math.log10(18446744073709551614L), 5), 19.26592)
    AreEqual(round(math.log(18446744073709551614L), 5), 44.36142)
    AreEqual(round(math.log((2 ** 1000), 2), 5), 1000.0)
    AssertError(ValueError, math.log, 0L)
    AssertError(ValueError, math.log, (-1L))
    AreEqual(math.log(2L, 1e309), 0.0)
    AssertError(ValueError, math.log, 2L, (-1e309))
    AssertError(ZeroDivisionError, math.log, 2L, 1.0)
    class N(object, ):
        def __float__(self):
            return 10.0
        def __long__(self):
            return 100
    AreEqual(round(math.log10(N()), 5), 1.0)
    AreEqual(round(math.log(N()), 5), 2.30259)

What's a good function header?
assistant
#Here's a good function header.

def test_long_log():