diff options
-rw-r--r-- | src/clj/clojure/core.clj | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index 830c0192..848ee2d7 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -1845,6 +1845,16 @@ (instance? Short n) (instance? Byte n))) +(defn mod + "modulus of num and div." + [num div] + (cond + (or (not (integer? num)) (not (integer? div))) + (throw (IllegalArgumentException. + "mod requires two integers")) + (or (< num 0 div) (< div 0 num)) (+ (rem num div) div) + :else (rem num div))) + (defn ratio? "Returns true if n is a Ratio" [n] (instance? clojure.lang.Ratio n)) |