Changes for version 0.15 - 2016-10-24

  • ADDED
    • Unimport support.
      • no Math::BigNum; # disables the `:constant` behavior in the current scope
    • Added the `new_int()` and `new_uint()` methods for setting signed and unsigned native integers.
  • PERFORMANCE IMPROVEMENTS
    • Noticeable optimizations in method `is_pow`. (Thanks to Dana Jacobsen)
    • Minor optimization in `bernfrac()` for values of n < 50.
    • Faster algorithm in `bernfrac()` for values of `n` >= 50. (based on the Zeta function)
    • Faster algorithm in `bernreal()`, using positive values of the Zeta function. (before, negative values were used)
  • BUG FIXES
    • When a base is specified, special values, such "Inf" and "NaN", are no longer parsed specially.
      • Math::BigNum->new('inf', 36) == 24171
      • Math::BigNum->new('num', 36) == 30191
  • OTHER
    • Documentation improvements.

Modules

Arbitrary size precision for integers, rationals and floating-point numbers.
Represents the +/-Infinity value.
Represents the Not-a-Number value.