With no base argument log of complex zero is > log(0i) [1] -Inf+0i but > log(0i, ) [1] -Inf+NaNi Ideally, the same answer should be given in both cases.

By the definition log(x,b) = log(x)/log(b) x <- log(0i) # -Inf+0i x/log(exp(1)+0i) # -Inf+NaNi x/log(exp(1)) # same x/1 # same That's odd, but as far as I can see is being done by the platform's C99 complex arithmetic and not R.

I should have said 'odd but correct'. Consider x <- -Inf+0i y <- 1 x*y Then the imaginary part of the result is x.r*y.i + x.i*y.r = -Inf*0 + 0*1 = NaN.