From: Tom Tromey Date: Wed, 8 Oct 2003 19:00:21 +0000 (+0000) Subject: StrictMath.java (toDegrees): Multiply before dividing. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7912744353a99b911ed204606b087e1c897a0a9;p=gcc.git StrictMath.java (toDegrees): Multiply before dividing. * java/lang/StrictMath.java (toDegrees): Multiply before dividing. (toRadians): Likewise. 2003-10-08 C. Brian Jones * java/lang/Math.java (toRadians): multiply before dividing to reduce decimal error (toDegrees): ditto From-SVN: r72238 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2812d333f2f..2d76caebf5e 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,15 @@ +2003-10-08 Tom Tromey + + * java/lang/StrictMath.java (toDegrees): Multiply before + dividing. + (toRadians): Likewise. + +2003-10-08 C. Brian Jones + + * java/lang/Math.java + (toRadians): multiply before dividing to reduce decimal error + (toDegrees): ditto + 2003-10-08 Michael Koch * gnu/gcj/protocol/core/Connection.java, diff --git a/libjava/java/lang/Math.java b/libjava/java/lang/Math.java index cb5f70b1cfb..e41eca7ce1a 100644 --- a/libjava/java/lang/Math.java +++ b/libjava/java/lang/Math.java @@ -575,6 +575,9 @@ public final class Math */ public static int round(float a) { + // this check for NaN, from JLS 15.21.1, saves a method call + if (a != a) + return 0; return (int) floor(a + 0.5f); } @@ -591,6 +594,9 @@ public final class Math */ public static long round(double a) { + // this check for NaN, from JLS 15.21.1, saves a method call + if (a != a) + return 0; return (long) floor(a + 0.5d); } @@ -624,7 +630,7 @@ public final class Math */ public static double toRadians(double degrees) { - return degrees * (PI / 180); + return (degrees * PI) / 180; } /** @@ -638,6 +644,6 @@ public final class Math */ public static double toDegrees(double rads) { - return rads * (180 / PI); + return (rads * 180) / PI; } } diff --git a/libjava/java/lang/StrictMath.java b/libjava/java/lang/StrictMath.java index bacc291faa5..9411a9bd404 100644 --- a/libjava/java/lang/StrictMath.java +++ b/libjava/java/lang/StrictMath.java @@ -1213,7 +1213,7 @@ public final strictfp class StrictMath */ public static double toRadians(double degrees) { - return degrees * (PI / 180); + return (degrees * PI) / 180; } /** @@ -1226,7 +1226,7 @@ public final strictfp class StrictMath */ public static double toDegrees(double rads) { - return rads * (180 / PI); + return (rads * 180) / PI; } /**