Releases: ionspin/kotlin-multiplatform-bignum
Releases · ionspin/kotlin-multiplatform-bignum
Bugfixes
Maven reupload
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
- 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
- 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
Bugfix, bump to Kotlin 1.4.10
Kotlin 1.4.0 release, bugfixes, improvements
- 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 producedInt
orLong
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 bytesfromByteArray
always expects a big-endian ordered array of bytestoUByteArray
produces unsigned byte array in big-endian ordertoByteArray
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 bittoTwosComplementByteArray
produces a two's complement ByteArray with at least one sign bit
- from and to conversions were not consistent, from(U)ByteArray expected a string of bytes ordered in little or big endian,
- 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
BigDecimal improvements and MinGW targets added
- 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 toroundSignificand
, as it describes what it does more precisely - Added
roundAtDigitPosition
androundAfterDecimalPoint
convenience methods. - Use Long instead of BigInteger for BigDecimal exponent.
- Adding MingwX64 and MingwX86 targets.
0.1.3 Kotlin 1.3.60 support
- 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