diff options
author | Tom Tromey <tromey@gcc.gnu.org> | 2003-10-08 19:00:21 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2003-10-08 19:00:21 +0000 |
commit | d7912744353a99b911ed204606b087e1c897a0a9 (patch) | |
tree | 4bafca46dc0ce0cd1a8f59c50204470618bcefd1 | |
parent | f06c07c7b82d458acae89b42daf7949b6160b906 (diff) | |
download | gcc-d7912744353a99b911ed204606b087e1c897a0a9.zip gcc-d7912744353a99b911ed204606b087e1c897a0a9.tar.gz gcc-d7912744353a99b911ed204606b087e1c897a0a9.tar.bz2 |
StrictMath.java (toDegrees): Multiply before dividing.
* java/lang/StrictMath.java (toDegrees): Multiply before
dividing.
(toRadians): Likewise.
2003-10-08 C. Brian Jones <cbj@gnu.org>
* java/lang/Math.java
(toRadians): multiply before dividing to reduce decimal error
(toDegrees): ditto
From-SVN: r72238
-rw-r--r-- | libjava/ChangeLog | 12 | ||||
-rw-r--r-- | libjava/java/lang/Math.java | 10 | ||||
-rw-r--r-- | libjava/java/lang/StrictMath.java | 4 |
3 files changed, 22 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2812d33..2d76cae 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,15 @@ +2003-10-08 Tom Tromey <tromey@redhat.com> + + * java/lang/StrictMath.java (toDegrees): Multiply before + dividing. + (toRadians): Likewise. + +2003-10-08 C. Brian Jones <cbj@gnu.org> + + * java/lang/Math.java + (toRadians): multiply before dividing to reduce decimal error + (toDegrees): ditto + 2003-10-08 Michael Koch <konqueror@gmx.de> * gnu/gcj/protocol/core/Connection.java, diff --git a/libjava/java/lang/Math.java b/libjava/java/lang/Math.java index cb5f70b..e41eca7 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 bacc291..9411a9b 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; } /** |