All Versions
27
Latest Version
Avg Release Cycle
36 days
Latest Release
-
Changelog History
Page 2
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, 20200.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 -
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 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.
-
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
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,
while to(U)ByteArray produced
- โ 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 -
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 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.
-
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.