#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/>