From: SourceForge.net <noreply@so...>  20050930 14:11:36

Bugs item #1007358, was opened at 20040811 11:21 Message generated for change (Comment added) made by sds You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1007358&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: clisp Group: lisp error Status: Open Resolution: None Priority: 5 Submitted By: Sam Steingold (sds) Assigned to: Bruno Haible (haible) Summary: LOG of large integers is broken Initial Comment: (log (ash 1 100000)) ***  floating point overflow it would appear that a simple method of discarding unnecessary digits and returning (+ (* N (log 2)) (log (ash X ( N)))) for large X and appropriate N would solve this problem.  >Comment By: Sam Steingold (sds) Date: 20050930 10:11 Message: Logged In: YES user_id=5735 maybe related [ 1246248 ] (LOG INTERNALTIMEUNITSPERSECOND) > error: http://sourceforge.net/tracker/index.php?func=detail&aid=1246248&group_id=1355&atid=101355  Comment By: Sam Steingold (sds) Date: 20040811 13:48 Message: Logged In: YES user_id=5735 R_ln_R() already computes (log 2) with the (presumably) correct precision. all that remains to be determined is how many integer digits are needed for the specific float output. i.e., the exponent of the appropriate float epsilon.  Comment By: Bruno Haible (haible) Date: 20040811 12:46 Message: Logged In: YES user_id=5923 Agreed. The only thing to be careful about is that (log 2) needs to be computed in extended precision, because by multiplying with N any roundoff errors in computing (log 2) is multiplied with N.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1007358&group_id=1355 