Skip to content

Releases: ionspin/kotlin-multiplatform-bignum

Bugfixes

15 Feb 09:53
078a003
Compare
Choose a tag to compare
  • Fixed support for watchosX64/watchos86 (#150)
  • Fixed parsing characters outside of radix range (#152)
  • Fixed invalid byte array intialization (#153)
  • Fixed rounding KDoc (#156)

Maven reupload

06 Feb 13:03
Compare
Choose a tag to compare

Same release as 0.2.4, but republished because of issues when uploading to Maven Central.
https://status.maven.org/incidents/z70skgbq8vgc

Kotlin 1.4.30, Bugfixes

05 Feb 17:05
Compare
Choose a tag to compare
  • Bump to kotlin 1.4.30
  • Fix invalid to string when big decimal is zero (#148)
  • Fix xor test which was previously testing bit shifting instead of xor (#147)
  • Fix biginteger xor operands magnitude array length mismatch (#144)
  • Fix biginteger bitwise operations sign (#142)
  • Added (back) support for legacy js target (#138)

Kotlin 1.4.20, Bugfixes

28 Nov 19:11
Compare
Choose a tag to compare
  • 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

Bugfix

10 Oct 20:05
Compare
Choose a tag to compare

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.

Bugfix, bump to Kotlin 1.4.10

08 Oct 21:38
Compare
Choose a tag to compare
  • Fixed #127 BigDecimal divide not working properly
  • Added tests to cover case from #127
  • Bumped Kotlin to 1.4.10

Kotlin 1.4.0 release, bugfixes, improvements

18 Aug 17:49
Compare
Choose a tag to compare
  • 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.

0.1.5 Adding linux arm targets, BigDecimal bug fixes

07 Jan 21:02
37fcd36
Compare
Choose a tag to compare
  • 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)

BigDecimal improvements and MinGW targets added

10 Dec 21:02
Compare
Choose a tag to compare
  • 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.

0.1.3 Kotlin 1.3.60 support

19 Nov 13:15
Compare
Choose a tag to compare
Pre-release
  • Updated kotlin to 1.3.60
  • Updated gradle to 5.6.1, so gradle metada is now version 1.0
  • Cleaned up dependencies, coroutines are now only a test dependency