commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Semrau (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LANG-662) org.apache.commons.lang3.math.Fraction does not reduce (Integer.MIN_VALUE, 2^k)
Date Mon, 03 Jan 2011 14:02:46 GMT

    [ https://issues.apache.org/jira/browse/LANG-662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12976744#action_12976744
] 

Christian Semrau commented on LANG-662:
---------------------------------------

The commons-math version does not have this overflow in its gcd implementation, and it can
be easily prevented.
But as written in LANG-663, I'd drop the commons-lang Fraction class in favor of commons-math
Fraction.


> org.apache.commons.lang3.math.Fraction does not reduce (Integer.MIN_VALUE, 2^k)
> -------------------------------------------------------------------------------
>
>                 Key: LANG-662
>                 URL: https://issues.apache.org/jira/browse/LANG-662
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.math.*
>    Affects Versions: 3.0
>            Reporter: Christian Semrau
>            Priority: Minor
>             Fix For: 3.0
>
>
> The greatestCommonDivisor method in class Fraction does not find the gcd of Integer.MIN_VALUE
and 2^k, and this case can be triggered by taking Integer.MIN_VALUE as the numerator. Note
that the case of taking Integer.MIN_VALUE as the denominator is handled explicitly in the
getReducedFraction factory method.
> {code:title=FractionTest.java|borderStyle=solid}
> 	// additional test cases
> 	public void testReducedFactory_int_int() {
> 		// ...
> 		f = Fraction.getReducedFraction(Integer.MIN_VALUE, 2);
> 		assertEquals(Integer.MIN_VALUE / 2, f.getNumerator());
> 		assertEquals(1, f.getDenominator());
> 	public void testReduce() {
> 		// ...
> 		f = Fraction.getFraction(Integer.MIN_VALUE, 2);
> 		result = f.reduce();
> 		assertEquals(Integer.MIN_VALUE / 2, result.getNumerator());
> 		assertEquals(1, result.getDenominator());
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message