summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-01-28 13:47:54 +0000
committerRich Hickey <richhickey@gmail.com>2008-01-28 13:47:54 +0000
commit999111485f8bc28332780dcd92f6cfa1a2bc66c9 (patch)
tree4f602e61c9d04e979addaee6f6be6d9dcd0ca7c7
parent282694fc6e33b1920e89ba734ccffce52eefb7ca (diff)
interim checkin, do not use
made = use equiv for Numbers
-rw-r--r--src/jvm/clojure/lang/Num.java2
-rw-r--r--src/jvm/clojure/lang/RT.java11
2 files changed, 11 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Num.java b/src/jvm/clojure/lang/Num.java
index 5d8df4f5..7c5e0526 100644
--- a/src/jvm/clojure/lang/Num.java
+++ b/src/jvm/clojure/lang/Num.java
@@ -144,6 +144,8 @@ static public Num divide(BigInteger n, BigInteger d){
}
static public boolean equiv(Object x, Object y){
+ if(!(y instanceof Number && x instanceof Number))
+ return false;
return Num.from(x).equiv(Num.from(y));
}
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index 4edfc3bd..6937afcb 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -208,8 +208,15 @@ static public int nextID(){
}
static public boolean equal(Object k1, Object k2){
- return k1 == k2 ||
- (k1 != null && k1.equals(k2));
+ if(k1 == k2)
+ return true;
+ if(k1 != null)
+ {
+ if(k1 instanceof Number)
+ return Num.equiv(k1, k2);
+ return k1.equals(k2);
+ }
+ return false;
}
//static public Object eq(Object arg1, Object arg2){