#8: 2-arg log function can't compute some logs ------------------------------------+--------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: Component: Core | Version: 19c Keywords: log, special functions | ------------------------------------+--------------------------------------- Consider the following snip of code. CMUCL should really be able to compute all of these. CMUCL fails mostly because it cannot convert some bignum to a double-float.
{{{ (defun test-log () (dolist (base (list nil 2 2.0 2d0 (ash 1 99) (ash 1 3000) 8/7 (/ (ash 1 3000) 7))) (dolist (number (list 100 100.0 100d0 (ash 1 100) (ash 1 3500) 50/7 (/ (ash 1 3500) 7))) (multiple-value-bind (result cond) (ignore-errors (if base (log number base) (log number))) (unless result (format t "(log ~A ~A) ->~% ~S~%" number base cond)))))) }}}