From e8e3a10713e7d7e7d1cede1f4e9024d257eee1b7 Mon Sep 17 00:00:00 2001 From: tromey Date: Wed, 8 Oct 2003 19:00:21 +0000 Subject: * 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72238 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/Math.java | 10 ++++++++-- libjava/java/lang/StrictMath.java | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'libjava/java/lang') 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; } /** -- cgit v1.2.3