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

Changelog History
Page 1

  • v0.1.6-SNAPSHOT

    • 🛠 Fixed #86 - Rounding fails when integer part is 9
    • 🛠 Fixed #88 - BigInteger.bitAt() returns invalid value
  • v0.1.5

    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

    • 🔖 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

    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

    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

    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.
  • v0.1.1

    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

    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

    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

    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.