Skip to content

Commit

Permalink
Bump up to 1.4.0, update changelog, add THANKS, prepare 0.2.0 relase
Browse files Browse the repository at this point in the history
  • Loading branch information
Ugljesa Jovanovic authored and ionspin committed Aug 18, 2020
1 parent 404c994 commit 0f0053e
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 5 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
## Descriptive changelog
(All dates are DD.MM.YYYY)
##### 0.1.6-SNAPSHOT
##### 0.2.0 - 18.8.2020 - Improvements, optimizations, bugfixes and Kotlin 1.4.0
- Impeovement #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<Byte>
- 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-M3
Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,20 @@ data class DecimalMode(val decimalPrecision : Long = 0, val roundingMode : Round
* If two `BigDecimal`s have different `DecimalModes` with different RoundingModes an `ArithmeticException` will be thrown.
If the modes are same, but the precision is different, larger precision will be used.

### Scale

Scale, or the number of digits to the right of the decimal, can also be specified. Default is no
scale, which puts no restriction on number of digits to the right of the decimal. When scale is
specified, a `RoundingMode` other than `RoundingMode.NONE` is also required.
When arithmetic operations have both operands unlimited precision and no scaling, the result is
also unlimited precision and no scale. When an operation mixes an unlimited precision operand
and a scaled operand, the result is unlimited precision. WHen both operands have scale,
whether unlimited precision or limited precision, then these rules for scale of the result are used:

* add, subtract - max of the two scales</li>
* multiply - sum of the two scales</li>
* divide - min of the two scales</li>

##### Infinite precision

Precision 0 and roundingMode none attempt to provide infinite precisions. Exception is division, where default precision is
Expand Down
3 changes: 3 additions & 0 deletions THANKS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Special thanks to people for contributing to the library:

- Steven K Olson (@skolson)
2 changes: 1 addition & 1 deletion bignum/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ repositories {
jcenter()
}
group = "com.ionspin.kotlin"
version = "0.1.6-1.4.0-rc-SNAPSHOT"
version = "0.2.0"

val ideaActive = System.getProperty("idea.active") == "true"

Expand Down
6 changes: 3 additions & 3 deletions buildSrc/src/main/kotlin/Deps.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
*/

object Versions {
val kotlinCoroutines = "1.3.8-1.4.0-rc"
val kotlin = "1.4.0-rc"
val kotlinSerialization = "1.0-M1-1.4.0-rc"
val kotlinCoroutines = "1.3.9"
val kotlin = "1.4.0"
val kotlinSerialization = "1.0.0-RC"
val nodePlugin = "1.3.0"
val dokkaPlugin = "1.4.0-rc"
}
Expand Down

0 comments on commit 0f0053e

Please sign in to comment.