From d7912744353a99b911ed204606b087e1c897a0a9 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 8 Oct 2003 19:00:21 +0000 Subject: 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 --- libjava/java/lang/Math.java | 10 ++++++++-- libjava/java/lang/StrictMath.java | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'libjava/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; } /** -- cgit v1.1