[ 
https://issues.apache.org/jira/browse/NUMBERS-161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17356764#comment-17356764
 ] 

Gilles Sadowski commented on NUMBERS-161:
-----------------------------------------

{quote}
{code}
// previous
double normalized = PlaneAngleRadians.normalizer(lower).applyAsDouble(azimuth);
{code}
{quote}

Commit a71294ae30dc69f99f3a0fe4a5daee45fdd448da:
{code}
double normalized = Angle.Rad.normalizer(lower).applyAsDouble(azimuth);
{code}

> PlaneAngle Numerical Accuracy
> -----------------------------
>
>                 Key: NUMBERS-161
>                 URL: https://issues.apache.org/jira/browse/NUMBERS-161
>             Project: Commons Numbers
>          Issue Type: Improvement
>            Reporter: Matt Juntunen
>            Assignee: Gilles Sadowski
>            Priority: Major
>
> 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)

Reply via email to