From 2b22e68f5a98e69f0ab92f7e8ad6653e8ecc0599 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 26 Feb 2015 21:27:34 +1100 Subject: Add isFinite util methods. --- src/main/java/org/bukkit/util/NumberConversions.java | 12 ++++++++++-- 1 file 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); } } -- cgit v1.2.3