summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Taggart <ataggart@mercury.local>2010-10-17 00:10:11 -0700
committerStuart Halloway <stu@thinkrelevance.com>2010-11-05 08:45:10 -0700
commitb0fda0900001e08ee6fecd2091608036eeeebefd (patch)
tree717175ae37ecb4cebe0520188a5292cf75a50056
parent49b05680354271062cfcaf4b5001b35296f3a94b (diff)
add conversion from BigInt to BigInteger
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r--src/clj/clojure/core.clj1
-rw-r--r--test/clojure/test_clojure/numbers.clj5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index 4cdf794d..b6fe498a 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -3122,6 +3122,7 @@
:static true}
[x] (cond
(instance? BigInteger x) x
+ (instance? clojure.lang.BigInt x) (.toBigInteger ^clojure.lang.BigInt x)
(decimal? x) (.toBigInteger ^BigDecimal x)
(ratio? x) (.bigIntegerValue ^clojure.lang.Ratio x)
(number? x) (BigInteger/valueOf (long x))
diff --git a/test/clojure/test_clojure/numbers.clj b/test/clojure/test_clojure/numbers.clj
index 9c6be05f..688c8c40 100644
--- a/test/clojure/test_clojure/numbers.clj
+++ b/test/clojure/test_clojure/numbers.clj
@@ -31,6 +31,11 @@
(decimal? v)
(not (float? v)))))
+(deftest BigInteger-conversions
+ (are [x] (biginteger x)
+ Long/MAX_VALUE
+ 13178456923875639284562345789M
+ 13178456923875639284562345789N))
;; *** Functions ***