Skip to content

Commit

Permalink
release 2.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
eobermuhlner committed Aug 15, 2019
1 parent f71524b commit e445ffd
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 24 deletions.
2 changes: 1 addition & 1 deletion ch.obermuhlner.math.big.example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ repositories {
}

dependencies {
//compile group: 'ch.obermuhlner', name: 'big-math', version: '2.1.0'
//compile group: 'ch.obermuhlner', name: 'big-math', version: '2.2.0'
compile project(':ch.obermuhlner.math.big')
}
2 changes: 1 addition & 1 deletion ch.obermuhlner.math.big/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
}

group = 'ch.obermuhlner'
version = '2.1.0'
version = '2.2.0'
archivesBaseName = 'big-math'

ext {
Expand Down
25 changes: 3 additions & 22 deletions docs/releases/next_release_note.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
# API changes

## Support for `NaN`, `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` in `BigFloat`

The `BigFloat` class supports now the same special values as `double`:
* `NaN` for values that cannot be represented a number
* `POSITIVE_INFINITY` to represent positive infinite values
* `NEGATIVE_INFINITY` to represent negative infinite values
No API changes.


# Bugfixes
Expand All @@ -15,23 +10,9 @@ No Bugfix changes.

# Enhancements

## Performance optimizations

Performance analysis of the basic operations on `BigDecimal` has shown
that the `add()` and `subtract()` operation are faster without
specifying a `MathContext` argument. The `multiply()` operation has a
more complex performance behaviour. A single multiplication tends to be
faster without `MathContext` argument but the following operations are
at risk to be slower since it accumulates precision.

Many operations where manually fine tuned to find the optimum
performance.

The following chart shows performance improvements for the involved
operations:

![Performance improvements MathContext optimization](https://raw.githubusercontent.com/eobermuhlner/big-math/master/ch.obermuhlner.math.big.example/docu/benchmarks/regression/before%20after%20fewer%20mc%20optimization.png)
## Added `Example.method(y)`

Added `Example.method(y)`


# Examples
Expand Down
43 changes: 43 additions & 0 deletions docs/releases/v2.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Release 2.2.0

# API changes

## Support for `NaN`, `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` in `BigFloat`

The `BigFloat` class supports now the same special values as `double`:
* `NaN` for values that cannot be represented a number
* `POSITIVE_INFINITY` to represent positive infinite values
* `NEGATIVE_INFINITY` to represent negative infinite values


# Bugfixes

No Bugfix changes.


# Enhancements

## Performance optimizations

Performance analysis of the basic operations on `BigDecimal` has shown
that the `add()` and `subtract()` operation are faster without
specifying a `MathContext` argument. The `multiply()` operation has a
more complex performance behaviour. A single multiplication tends to be
faster without `MathContext` argument but the following operations are
at risk to be slower since it accumulates precision.

Many operations where manually fine tuned to find the optimum
performance.

The following chart shows performance improvements for the involved
operations:

![Performance improvements MathContext optimization](https://raw.githubusercontent.com/eobermuhlner/big-math/master/ch.obermuhlner.math.big.example/docu/benchmarks/regression/before%20after%20fewer%20mc%20optimization.png)



# Examples

Note: The example code is available on github, but not part of the big-math library.

No changes in the examples.

0 comments on commit e445ffd

Please sign in to comment.