[MacRuby] #1042: BigMath::log and BigMath:exp are broken

MacRuby ruby-noreply at macosforge.org
Wed Jan 5 13:48:51 PST 2011


#1042: BigMath::log and BigMath:exp are broken
-------------------------------------+--------------------------------------
 Reporter:  hghoehne@…               |       Owner:  lsansonetti@…        
     Type:  defect                   |      Status:  new                  
 Priority:  blocker                  |   Milestone:                       
Component:  MacRuby                  |    Keywords:                       
-------------------------------------+--------------------------------------

Comment(by pthomson@…):

 Replying to [comment:4 lsansonetti@…]:
 > I believe the SIZEOF_BDIGITS change to 8 was done for performance
 reasons, a couple years ago. However, I do not remember the exact context
 of this change, anymore.

 The change was to use 64-bit integers for bignum basic storage and 128-bit
 integers (with uint128_t), which gained around a 10-15% speed boost (and
 halved space usage) for bignum calculations. However, it seems to have
 screwed something up in BigDecimal. I'm looking into the issue, but this
 code is old and very weird.

 If nobody can figure this out, the safest way to make this work is to
 revert the change that made BDIGIT a uint64_t and BDIGIT_DBL a
 __uint128_t.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1042#comment:6>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list