You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/02/14 05:17:00 UTC

[jira] [Work logged] (NUMBERS-94) PlaneAngle normalize fails for very small numbers.

     [ https://issues.apache.org/jira/browse/NUMBERS-94?focusedWorklogId=198483&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-198483 ]

ASF GitHub Bot logged work on NUMBERS-94:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Feb/19 05:16
            Start Date: 14/Feb/19 05:16
    Worklog Time Spent: 10m 
      Work Description: darkma773r commented on pull request #30: NUMBERS-94: PlaneAngle.normalize() fix for small numbers
URL: https://github.com/apache/commons-numbers/pull/30
 
 
   Adding an extra check to the PlaneAngle.normalize() method to ensure that the return value is within the allowed range when given very small numbers.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 198483)
            Time Spent: 10m
    Remaining Estimate: 0h

> PlaneAngle normalize fails for very small numbers.
> --------------------------------------------------
>
>                 Key: NUMBERS-94
>                 URL: https://issues.apache.org/jira/browse/NUMBERS-94
>             Project: Commons Numbers
>          Issue Type: Bug
>            Reporter: Matt Juntunen
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When the {{PlaneAngle.normalize()}} method is called to normalize between 0 and 1 turns and is passed a very small number compared to the 1, then the method returns a number exactly equal to the angle upper bound. This breaks the API contract since the return value must be strictly less than the upper bound. Ex:
> {code:java}
> PlaneAngle angle = PlaneAngle.ofTurns(-1e-18);
> double normalized = angle.normalize(PlaneAngle.PI).toTurns();
> // normalized is equal to 1 but it should be 0 since 1 - 1e-18 = 1, which is equivalent to 0 in turns)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)