This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit fd1292e588bfbd0b0b63ae56cf316faf2df00537 Author: Schamschi <heinrich.bo...@gmx.at> AuthorDate: Wed Jun 26 03:31:01 2019 +0200 NUMBERS-120: Repair BigFraction.floatValue() --- .../org/apache/commons/numbers/fraction/BigFraction.java | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java index 6de8f37..3a1a63d 100644 --- a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java +++ b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java @@ -887,20 +887,7 @@ public class BigFraction extends Number implements Comparable<BigFraction>, Seri */ @Override public float floatValue() { - float floatNum = numerator.floatValue(); - float floatDen = denominator.floatValue(); - float result = floatNum / floatDen; - if (Float.isInfinite(floatNum) || - Float.isInfinite(floatDen) || - Float.isNaN(result)) { - // Numerator and/or denominator must be out of range: - // Calculate how far to shift them to put them in range. - int shift = Math.max(numerator.bitLength(), - denominator.bitLength()) - Math.getExponent(Float.MAX_VALUE); - result = numerator.shiftRight(shift).floatValue() / - denominator.shiftRight(shift).floatValue(); - } - return result; + return Float.intBitsToFloat((int) toFloatingPointBits(8, 23)); } /**