[cmucl-ticket] #8: 2-arg log function can't compute some logs

cmucl cmucl-devel at common-lisp.net
Wed Jan 17 17:17:51 UTC 2007


#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))))))
 }}}

-- 
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/8>
cmucl <http://common-lisp.net/project/cmucl>
cmucl


More information about the cmucl-ticket mailing list