Impressive. Never ceases to amaze me what computers can do these days. ;-) It's even more impressive given that we have
static double logbase(double x, double base) { #ifdef HAVE_LOG10 if(base == 10) return x > 0 ? log10(x) : x < 0 ? R_NaN : R_NegInf; #endif #ifdef HAVE_LOG2 if(base == 2) return x > 0 ? log2(x) : x < 0 ? R_NaN : R_NegInf; #endif return R_log(x) / R_log(base); } which, except possibly for base-10 and base-2, would seem to be quite hard to convince to return anything other than 1 if x == base.... -pd On 02 Sep 2014, at 03:27 , Ben Bolker <bbol...@gmail.com> wrote: > log(8, base=8L)-1 > log(8, base=8)-1 > logvals <- setNames(log(2:25,base=2:25)-1,2:25) > logvals[logvals!=0] ## 5,8,14,18,19,25 all == .Machine$double.eps/2 -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel