diff options
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 97abd85a..0dba3399 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -950,9 +950,10 @@ static public int intCast(float x){ } static public int intCast(long x){ - if(x < Integer.MIN_VALUE || x > Integer.MAX_VALUE) + int i = (int) x; + if(i != x) throw new IllegalArgumentException("Value out of range for int: " + x); - return (int) x; + return i; } static public int intCast(double x){ |