commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LANG-381) NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN
Date Sun, 02 Dec 2007 04:35:42 GMT

    [ https://issues.apache.org/jira/browse/LANG-381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547571
] 

Henri Yandell commented on LANG-381:
------------------------------------

Looks like the min(double, double, double) (and probably others) have the same problem. Interesting
given that they use Math.min.

The bug on the max() methods is the inverse. They don't consider NaN to be > than all others
as Float.compareTo does.

> NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN
> ----------------------------------------------------------------------------------------
>
>                 Key: LANG-381
>                 URL: https://issues.apache.org/jira/browse/LANG-381
>             Project: Commons Lang
>          Issue Type: Bug
>    Affects Versions: 2.3
>            Reporter: Thomas Vandahl
>             Fix For: 2.4
>
>
> The min() method of NumberUtils returns the wrong result if  the first value of the array
happens to be Float.NaN. The following code snippet shows the behaviour:
>         float a[] = new float[] {(float) 1.2, Float.NaN, (float) 3.7, (float) 27.0, (float)
42.0, Float.NaN};
>         float b[] = new float[] {Float.NaN, (float) 1.2, Float.NaN, (float) 3.7, (float)
27.0, (float) 42.0, Float.NaN};
>         
>         float min = NumberUtils.min(a);
>         System.out.println("min(a): " + min); // output: 1.2
>         min = NumberUtils.min(b);
>         System.out.println("min(b): " + min); // output: NaN
> This problem may exist for double-arrays as well. 
> Proposal: Use Float.compare(float, float) or NumberUtils.compare(float, float) to achieve
a consistent result.

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