summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStuart Halloway <stu@thinkrelevance.com>2010-05-05 07:04:31 -0400
committerStuart Halloway <stu@thinkrelevance.com>2010-05-07 07:47:18 -0400
commitf769f5650edc782245089ac021d39d0acbcd490d (patch)
tree57dd8b57326e2b9dc622af9dee63a645cae0e744 /src
parentc4eb5719b0f30ea4c113e6e98a1c171c43a01abe (diff)
promote Jason Wolfe's superset?, subset? #338
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/set.clj16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/clj/clojure/set.clj b/src/clj/clojure/set.clj
index 2d861511..835e6063 100644
--- a/src/clj/clojure/set.clj
+++ b/src/clj/clojure/set.clj
@@ -139,6 +139,22 @@
ret)))
#{} s))))
+(defn subset?
+ "Is set1 a subset of set2?"
+ {:added "1.2",
+ :tag Boolean}
+ [set1 set2]
+ (and (<= (count set1) (count set2))
+ (every? set2 set1)))
+
+(defn superset?
+ "Is set1 a superset of set2?"
+ {:added "1.2",
+ :tag Boolean}
+ [set1 set2]
+ (and (>= (count set1) (count set2))
+ (every? set1 set2)))
+
(comment
(refer 'set)
(def xs #{{:a 11 :b 1 :c 1 :d 4}