All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release

Changelog History
Page 3

  • v0.1.1 Changes

    October 19, 2019
    • Implemented Toom-Cook-3 multiplication, although still slow because of inefficient division.
    • ๐Ÿ“‡ Bumped gradle version to 5.6.1, which means that the published Gradle Metadata will be 1.0, making ๐Ÿ“‡ metadata resolution available only on Gradle >= 5.3
    • ๐Ÿ›  Fixed several issues related to big decimal comparison, modular integer sign, etc.
    • โž• Added more BigDecimal extension functions.
    • โž• Added ModularBigInteger extension functions.
    • โž• Added Karatsuba multiplication.
    • โž• Added copy and moveDecimalPoint methods.
    • โž• Added fromUByteArray and toUByteArray.
  • v0.1.0 Changes

    July 31, 2019
    • โž• Added toByteArray and fromByteArray.
    • โž• Added toFloat and toDouble to BigInteger and ModularBigInteger classes.
    • โž• Added BigInteger creation from Float and Double by using tryFromFloat and tryFromDouble, with optional exact parameter to preserve precision.
    • โž• Added BigInteger comparison with Float and Double.
    • โž• Added BigDecimal configuration option to switch to expanded representation instead of scientific when calling toString().
    • ๐Ÿ‘Œ Improved ModularBigInteger exponentiation algorithm, based on Bruce Schneier Applied Cryptography pesudocode.
  • v0.0.9 Changes

    May 11, 2019
    • โž• Added modular integers - ModularBigInteger
    • โž• Added modInverse method to BigInteger
    • ๐Ÿ‘ Extracted interfaces that model big numbers better (BigNumber interface and accompanying interfaces)
    • Implemented integer reciprocal based on newton iteration (Based on paper by Yiping Cheng, Ze Lie : Refinement of a newton reciprocal algorithm for arbitrary precision numbers)
    • โšก๏ธ Implemented division by reciprocal multiplication. Not used by division at the moment as it is unoptimized and slower than basecase division in early benchmarks.
    • ๐Ÿ›  Fixed a bug in Int32 shift right when shift amount was an exact multiple of word size
    • โž• Added constructor overloads
    • โž• Added value methods (intValue, longValue...)
    • ๐Ÿ“‡ Renamed invPrecise() bigInteger method to not()
    • ๐Ÿ“‡ Renamed numberOfDigits() to numberOfDecimalDigits()
    • Introduced BigNumber and BitwiseOperations interfaces
    • โž• Added iOS ARM 32bit support

    Also added missing methods to BigInteger, so BigDecimal and BigInteger are mostly on par with their Java counterpart, in regards to functionality.

  • v0.0.8 Changes

    April 02, 2019

    ๐Ÿš€ This release doesn't bring any new functionality except for a full release of both linux (already present in 0.0.7) built and macos (new in 0.0.8) built artifacts (iosX64, iosArm, macosX64)

    ๐Ÿš€ From this release forward snapshot releases will be published as well.

  • v0.0.7 Changes

    March 31, 2019

    ๐Ÿš€ Since this is first GitHub release, well list everything that 0.0.7 has so far:

    • ๐Ÿ‘ BigInteger support
    • ๐Ÿ‘ BigDecimal support

    Known issues:

    • โšก๏ธ Library should be relatively slow, because it doesn't yet have optimized algorithms such as Karatsuba, etc.
    • Square root is not implemented (so not on par with Java BigInteger and BigDecimal)
    • โœ… Greatest common divisor is not implemented (same as square root)
  • v0.0.6 Changes

    • โž• Added BigDecimal
    • ๐Ÿ›  Fixed several BigInteger bugs
  • v0.0.5 Changes

    • โž• Added Big integer support