summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Downey <redchin@gmail.com>2010-01-29 12:08:50 -0800
committerRich Hickey <richhickey@gmail.com>2010-03-11 07:22:03 -0500
commit5772be9fc5ac9ddf92b727908c20b9aab971224a (patch)
tree67ef37fb9f99fe99c7452345c7e97f4f8c5de589
parente2cdf7dea9b0a459e781e4da320817be56aa6a8d (diff)
numerator and denominator fns for Ratios, refs #255
Signed-off-by: Rich Hickey <richhickey@gmail.com>
-rw-r--r--src/clj/clojure/core.clj12
-rw-r--r--test/clojure/test_clojure/numbers.clj3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index e2cf386e..1f46b487 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -2402,6 +2402,18 @@
"Returns true if n is a Ratio"
[n] (instance? clojure.lang.Ratio n))
+(defn numerator
+ "Returns the numerator part of a Ratio."
+ {:tag BigInteger}
+ [r]
+ (.numerator #^clojure.lang.Ratio r))
+
+(defn denominator
+ "Returns the denominator part of a Ratio."
+ {:tag BigInteger}
+ [r]
+ (.denominator #^clojure.lang.Ratio r))
+
(defn decimal?
"Returns true if n is a BigDecimal"
[n] (instance? BigDecimal n))
diff --git a/test/clojure/test_clojure/numbers.clj b/test/clojure/test_clojure/numbers.clj
index 72bb7d03..2283ccf4 100644
--- a/test/clojure/test_clojure/numbers.clj
+++ b/test/clojure/test_clojure/numbers.clj
@@ -433,3 +433,6 @@ Math/pow overflows to Infinity."
"[J" (long-array 1) (longs (long-array 1 1))))
+(deftest test-ratios
+ (is (= (denominator 1/2) 2))
+ (is (= (numerator 1/2) 1))) \ No newline at end of file