math.log(x) for x!=0, which makes an edge case
add test cases
add comment