aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>2003-10-08 19:00:21 +0000
committerTom Tromey <tromey@gcc.gnu.org>2003-10-08 19:00:21 +0000
commitd7912744353a99b911ed204606b087e1c897a0a9 (patch)
tree4bafca46dc0ce0cd1a8f59c50204470618bcefd1
parentf06c07c7b82d458acae89b42daf7949b6160b906 (diff)
downloadgcc-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/ChangeLog12
-rw-r--r--libjava/java/lang/Math.java10
-rw-r--r--libjava/java/lang/StrictMath.java4
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;
}
/**