All Versions
27
Latest Version
Avg Release Cycle
36 days
Latest Release
-

Changelog History
Page 2

  • v0.2.3 Changes

    November 28, 2020
    • โฌ†๏ธ Bump to Kotlin 1.4.20
    • ๐Ÿ›  Fix for invalid exponent rounding and string representation (#139)
    • Returned mingwx86 target (#137)
    • ๐Ÿ›  Fixed #134
    • ๐Ÿ›  Fixed #130 Conversion to double off by power of 10
    • ๐Ÿ›  Fixed #132 BigDecimal narrow functions toFloat() and toDouble, with exactRequired = false sometimes wrongly fail
    • ๐Ÿ›  Fixed floatValue and doubleValue narrowing functions (pull request #135)
    • ๐Ÿ›  Fixed invalid string parsing of big decimals
  • v0.2.2 Changes

    October 10, 2020

    0.2.2 - 10.10.2020 - Rework infinite precision division
    ๐Ÿš€ Issue #127 - invalid division when using unlimited precision wasn't completely handled in the previous release. With this release that division case was completely reworked and additional tests were added.

  • v0.2.1 Changes

    October 08, 2020
    • ๐Ÿ›  Fixed #127 BigDecimal divide not working properly
    • โž• Added tests to cover case from #127
    • โฌ†๏ธ Bumped Kotlin to 1.4.10
  • v0.2.0 Changes

    August 18, 2020
    • ๐Ÿ‘Œ Improvement #122 Add "scale" support to BigDecimal
    • ๐Ÿ›  Fixed #118 Rounding issue on division
    • ๐Ÿ‘Œ Improvement #116 Introduce local gradle varibale to enable JVM target on different platforms
    • ๐Ÿ›  Fixed #112 BigDecimal divideAndRemainder bad result
    • ๐Ÿ›  Fixed #111 - BigDecimal narrowing
    • ๐Ÿ›  Fixed #104 - BigInteger.toByteArray should prefer ByteArray over Array
    • ๐Ÿ›  Fixed #103 - Removed coroutines
    • ๐Ÿ›  Fixed #90 - Incorrect Result From Negative Double
    • ๐Ÿ›  Fixed #88 - BigInteger.bitAt does not work correctly
    • ๐Ÿ›  Fixed #86 - Rounding fails when integer part is 9
    • ๐Ÿ›  Fixed #88 - BigInteger.bitAt() returns invalid value
    • Built with Kotlin 1.4.0
    • Reworked to(U)ByteArray conversion methods
      • from and to conversions were not consistent, from(U)ByteArray expected a string of bytes ordered in little or big endian,
        while to(U)ByteArray produced Int or Long represented as byte with little endian or big endian order.
      • Replaced with a consistent to and from byte/ubyte array conversions
      • fromUByteArray always expects a big-endian ordered array of unsigned bytes
      • fromByteArray always expects a big-endian ordered array of bytes
      • toUByteArray produces unsigned byte array in big-endian order
      • toByteArray produces signed byte array in big-endian order
      • There are two helper methods that convert to and from a two's complement ByteArray, this form conforms to Java BigIntegers toByteArray
      • fromTwosComplementByteArray expects a two's complement ByteArray with at least one sign bit
      • toTwosComplementByteArrayproduces a two's complement ByteArray with at least one sign bit
    • โž• Added secureOverwrite to BigNumber interface, with role of overwriting backing structures with zeroes. It's meant to
      be used by libraries that require such a functionlity (i.e. crypto). The function also breaks immutability contract
      of BigNumber implementations, and further operations with that instances have undefined results.
  • v0.1.6-SNAPSHOT Changes

    • ๐Ÿ›  Fixed #86 - Rounding fails when integer part is 9
    • ๐Ÿ›  Fixed #88 - BigInteger.bitAt() returns invalid value
    • Built with Kotlin 1.4-M3
    • Reworked to(U)ByteArray conversion methods
      • from and to conversions were not consistent, from(U)ByteArray expected a string of bytes ordered in little or big endian, while to(U)ByteArray produced Int or Long represented as byte with little endian or big endian order.
      • Replaced with a consistent to and from byte/ubyte array conversions
        • fromUByteArray always expects a big-endian ordered array of unsigned bytes
        • fromByteArray always expects a big-endian ordered array of bytes
        • toUByteArray produces unsigned byte array in big-endian order
        • toByteArray produces signed byte array in big-endian order
      • There are two helper methods that convert to and from a two's complement ByteArray, this form conforms to Java BigIntegers toByteArray
        • fromTwosComplementByteArray expects a two's complement ByteArray with at least one sign bit
        • toTwosComplementByteArrayproduces a two's complement ByteArray with at least one sign bit
    • โž• Added secureOverwrite to BigNumber interface, with role of overwriting backing structures with zeroes. It's meant to be used by libraries that require such a functionlity (i.e. crypto). The function also breaks immutability contract of BigNumber implementations, and further operations with that instances have undefined results.
  • v0.1.5 Changes

    January 07, 2020
    • ๐Ÿ”– Version bump to kotlin 1.3.61
    • Gradlew wrapper bump to 6.0.1
    • โž• Added Linux Arm 64, and Linux Arm 32 HFP build targets
    • ๐Ÿ›  Fixed smaller BigDecimal issues (#71 #72 #78)
  • v0.1.5-SNAPSHOT Changes

    • ๐Ÿ”– Version bump to kotlin 1.3.61
    • Gradlew wrapper bump to 6.0.1
    • โž• Added Linux Arm 64, and Linux Arm 32 HFP build targets
  • v0.1.4 Changes

    December 10, 2019
    • Main library now has dependancies only on the kotlin standard library (for now, coroutines will be coming back at some point in the future).
    • ๐Ÿ“‡ Renamed BigDecimal round method to roundSignificand, as it describes what it does more precisely
    • โž• Added roundAtDigitPosition and roundAfterDecimalPoint convenience methods.
    • ๐Ÿ‘‰ Use Long instead of BigInteger for BigDecimal exponent.
    • โž• Adding MingwX64 and MingwX86 targets.
  • v0.1.3 Changes

    November 19, 2019
    • ๐ŸŽ Kotlin version bump to 1.3.60 - especially important as there was a comparison performance improvement for inline classes which are heavily used by bignum library (ULong/UInt).
    • Actually bumped gradle to 5.6.1, it was mistakenly left at 5.1.1 in library versions 0.1.1 and 0.1.2
    • ๐Ÿšš Cleaned up dependancies, coroutines are currently used only in test modules so they are moved there.
  • v0.1.2 Changes

    November 17, 2019
    • โœ‚ Removed removeLeadingZeros and replaced with countLeadingZeros and appropriate algorithm changes.
    • Realized plural of zero is zeros not zeroes.
    • ๐Ÿ‘Œ Improved exponentiation to use square-and-multiply method.