All Versions
27
Latest Version
Avg Release Cycle
36 days
Latest Release
-
Changelog History
Page 3
Changelog History
Page 3
-
v0.1.1 Changes
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
andmoveDecimalPoint
methods. - โ Added
fromUByteArray
andtoUByteArray
.
-
v0.1.0 Changes
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
andtryFromDouble
, 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 Changes
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 Changes
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.
-
v0.0.7 Changes
March 31, 2019๐ Since this is first GitHub release, well list everything that 0.0.7 has so far:
- ๐ BigInteger support
- ๐ BigDecimal support
Known issues:
- โก๏ธ Library should be relatively slow, because it doesn't yet have optimized algorithms such as Karatsuba, etc.
- Square root is not implemented (so not on par with Java BigInteger and BigDecimal)
- โ Greatest common divisor is not implemented (same as square root)
-
v0.0.6 Changes
- โ Added BigDecimal
- ๐ Fixed several BigInteger bugs
-
v0.0.5 Changes
- โ Added Big integer support