Project

General

Profile

Actions

task #9123

closed

Fix BigDecimal algebra in aggregation algorithms

Added by Andreas Müller almost 4 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Priority14
Category:
cdmlib
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal

Description

see #8978 for details


Related issues

Related to EDIT - feature request #8978: Implement measurement values as BigDecimal ClosedKatja Luther

Actions
Related to EDIT - feature request #9080: Use detailElement of quantitative data in dialog of character matrixNewKatja Luther

Actions
Related to EDIT - feature request #7980: Enhance matrix description aggregationClosedAndreas Müller

Actions
Copied from EDIT - task #9810: Test if BigDecimal algebra is correct in PolytomousKey algorithms NewAndreas Müller

Actions
Actions #1

Updated by Andreas Müller almost 4 years ago

Actions #2

Updated by Andreas Müller almost 4 years ago

  • Related to feature request #9080: Use detailElement of quantitative data in dialog of character matrix added
Actions #3

Updated by Andreas Müller over 3 years ago

  • Target version changed from Release 5.18 to Release 5.19
Actions #4

Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 5.19 to Release 5.21
Actions #5

Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 5.21 to Release 5.22
Actions #6

Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 5.22 to Release 5.46
Actions #7

Updated by Andreas Müller over 2 years ago

  • Status changed from New to In Progress
  • Target version changed from Release 5.46 to Release 5.45

There is a problem with average computing in aggregation. RoundingMode is missing.
Once this is fixed we need to check how to handle that rounding errors are not propagated etc.

Actions #8

Updated by Andreas Müller over 2 years ago

Actions #9

Updated by Andreas Müller over 2 years ago

  • % Done changed from 0 to 20

Rounding in aggregation is now done using MathContext.DECIMAL32 and stripTrailingZeros(). This avoids rounding errors when computing average. stripTrailingZeros() may sometimes reduce precision more then it should by it avoids having always a precision=7 once there was a single computation step that resulted in a rounding issue.
As average is not an important parameter for aggregation this should be sufficient.

Actions #10

Updated by Andreas Müller over 2 years ago

  • Target version changed from Release 5.45 to Release 5.27
Actions #11

Updated by Andreas Müller over 2 years ago

  • Copied from task #9810: Test if BigDecimal algebra is correct in PolytomousKey algorithms added
Actions #12

Updated by Andreas Müller over 2 years ago

  • Tags changed from additivity to additivity, aggregation
  • Subject changed from Test if BigDecimal algebra is correct in Aggregation and PolytomousKey algorithms to Fix BigDecimal algebra in aggregation algorithms
  • Status changed from In Progress to Closed
  • Priority changed from New to Priority14
  • % Done changed from 20 to 100

Moved polytomous key handling to new ticket #9810

Actions

Also available in: Atom PDF