[ https://issues.apache.org/jira/browse/NUMBERS-99?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944121#comment-16944121 ]
Gilles Sadowski commented on NUMBERS-99:
----------------------------------------
IIUC, the first issue is to decide whether it is required to have the "denominator" instance variable to always be positive.
[Indeed, several methods currently require this assumption to work (but their implementation could be changed for a more important benefit).]
> Fraction.add(int) and Fraction.subtract(int) ignore risk of integer overflow
> ----------------------------------------------------------------------------
>
> Key: NUMBERS-99
> URL: https://issues.apache.org/jira/browse/NUMBERS-99
> Project: Commons Numbers
> Issue Type: Bug
> Components: fraction
> Reporter: Heinrich Bohne
> Priority: Minor
> Time Spent: 20m
> Remaining Estimate: 0h
>
> The methods {{add(int)}} and {{subtract(int)}} in the class {{org.apache.commons.numbers.fraction.Fraction}} do not take into account the risk of an integer overflow. For example, (2^31^ - 1)/2 + 1 = (2^31^ + 1)/2, so the numerator overflows an {{int}}, but when calculated with {{Fraction.add(int)}}, the method still returns normally.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)