commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Sadowski (Jira)" <j...@apache.org>
Subject [jira] [Commented] (NUMBERS-99) Fraction.add(int) and Fraction.subtract(int) ignore risk of integer overflow
Date Thu, 03 Oct 2019 23:40:00 GMT

    [ 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)

Mime
View raw message