diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-12-08 01:44:50 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-12-08 01:44:50 +0000 |
commit | c5cac92d5a1583e00bcb29d7f8a4f50f13fe69d2 (patch) | |
tree | 81fb1f33381b0a3c2b58c6b5ba89966c23b42979 | |
parent | c244cef69bef5461c16774c7542e8f2bc849a310 (diff) |
added unchecked-remainder
-rw-r--r-- | src/clj/clojure/core.clj | 6 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Numbers.java | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index 4aad594a..24c9d019 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -712,6 +712,12 @@ {:inline (fn [x y] `(. clojure.lang.Numbers (unchecked_divide ~x ~y)))} [x y] (. clojure.lang.Numbers (unchecked_divide x y))) +(defn unchecked-remainder + "Returns the remainder of division of x by y, both int or long. + Note - uses a primitive operator subject to truncation." + {:inline (fn [x y] `(. clojure.lang.Numbers (unchecked_remainder ~x ~y)))} + [x y] (. clojure.lang.Numbers (unchecked_remainder x y))) + (defn pos? "Returns true if num is greater than zero, else false" {:tag Boolean diff --git a/src/jvm/clojure/lang/Numbers.java b/src/jvm/clojure/lang/Numbers.java index 4a6f924c..cb140fdf 100644 --- a/src/jvm/clojure/lang/Numbers.java +++ b/src/jvm/clojure/lang/Numbers.java @@ -1614,6 +1614,10 @@ static public int unchecked_divide(int x, int y){ return x / y; } +static public int unchecked_remainder(int x, int y){ + return x % y; +} + static public boolean equiv(int x, int y){ return x == y; } @@ -1717,6 +1721,10 @@ static public long unchecked_divide(long x, long y){ return x / y; } +static public long unchecked_remainder(long x, long y){ + return x % y; +} + static public boolean equiv(long x, long y){ return x == y; } |