You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Matt Juntunen (Jira)" <ji...@apache.org> on 2021/06/01 10:52:00 UTC

[jira] [Created] (NUMBERS-161) PlaneAngle Numerical Accuracy

Matt Juntunen created NUMBERS-161:
-------------------------------------

             Summary: PlaneAngle Numerical Accuracy
                 Key: NUMBERS-161
                 URL: https://issues.apache.org/jira/browse/NUMBERS-161
             Project: Commons Numbers
          Issue Type: Improvement
            Reporter: Matt Juntunen


The current {{PlaneAngle}} class introduces unnecessary round-off errors during use since it internally converts all values to turns. For example, it is currently impossible to represent the radians value {{Double.MIN_NORMAL}} exactly since the internal multiplication introduces errors: {{PlaneAngle.ofRadians(Double.MIN_NORMAL).toRadians()}} does not equal {{Double.MIN_NORMAL}}. We should restructure this API so that values are stored exactly and multiplication is only performed when required.

This issue was discovered during work on GEOMETRY-124. Use of the new {{Reduce}} class added two more floating point operations to angle normalization and caused a regression in commons-geometry-spherical.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)