diff options
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/bukkit/util/NumberConversions.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/util/NumberConversions.java b/src/main/java/org/bukkit/util/NumberConversions.java index 4bc79028..e6af9ec7 100644 --- a/src/main/java/org/bukkit/util/NumberConversions.java +++ b/src/main/java/org/bukkit/util/NumberConversions.java @@ -102,14 +102,22 @@ public final class NumberConversions { return 0; } + public static boolean isFinite(double d) { + return Math.abs(d) <= Double.MAX_VALUE; + } + + public static boolean isFinite(float f) { + return Math.abs(f) <= Float.MAX_VALUE; + } + public static void checkFinite(double d, String message) { - if (Double.isNaN(d) || Double.isInfinite(d)) { + if (!isFinite(d)) { throw new IllegalArgumentException(message); } } public static void checkFinite(float d, String message) { - if (Float.isNaN(d) || Float.isInfinite(d)) { + if (!isFinite(d)) { throw new IllegalArgumentException(message); } } |