On Sat, Nov 3, 2012 at 2:53 PM, Per Bothner <p...@bothner.com> wrote: > On 11/02/2012 09:52 PM, Alex Shinn wrote: >> >> On Sat, Nov 3, 2012 at 1:43 PM, Per Bothner <p...@bothner.com> wrote: >>> >>> R6RS has a 2-operand version of the log function: >>> >>> (log zi zii) computes the base-zii logarithm of zi. >>> >>> This function is not in the latest R7RS draft that I've seen, >>> which means it should be listed in the "Incompatibilities with >>> the main R6RS document" section of the NOTES. >> >> >> The two argument log function has already been added. > > > In that case, I guess I need to implement it ... > > Is there a recommended reference implementation? > IIRC mathematically (log a b) is (/ (log a) (log b)), > but that might not provide the best accuracy.
That's how I implement it, and neither libc nor the underlying x87 processor have a more accurate alternative (the x87 actually has instructions to push log constants for common conversions from the native log2). In practice b will most often be 2, e or 10, which have well behaved denominators. Except for bases approaching zero I doubt a numerical approach would help. -- Alex _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports