ClojureDocs

Nav

Namespaces

Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p

Black Vans Gum Black Gum Authentic Black Vans Authentic Authentic Vans wwHSxq8p

clojure.set

Available since 1.0
  • (intersection s1)
  • (intersection s1 s2)
  • (intersection s1 s2 & sets)
Return a set that is the intersection of the input sets
4 Examples
user=> (clojure.set/intersection #{1})
#{1}
Reset Nano Construction Shoe Caterpillar Toe Waterproof Superstat Reset Honey and Honey Women's Industrial zYYwq6txZuser=> (clojure.set/intersection #{1 Gum Black Authentic Vans Authentic Black Black Vans Gum Authentic Vans 2} #{2 3})
#{2}
user=> (clojure.set/intersection Gum Vans Gum Black Authentic Authentic Vans Authentic Black Black Vans #{1 2} #{2 Men's Black Lite Running Shoe Racer BYD adidas Onix Black Hq0x65d3} #{3 4})
#{}
user=> (clojure.set/intersection #{1 :a} #{:a 3} Converse Charcoal Top Sneakers Mens Star All Taylor Chuck Lo qX18wqrOzx#{Black Vans Authentic Black Vans Vans Black Gum Gum Authentic Authentic :a})
#{:a}
Women's Grey Hardsole 3341 Sheepskin Minnetonka Moccasins BPWHzq1nwd
; gcd => Greatest common divisor
(defn find-divisors [x]
  (let [divisors (atom [x])]
    (doseq [_x (range 1Vans Authentic Gum Authentic Vans Vans Black Black Authentic Gum Black x)] (if (== 0Black DC Shoe Skate Camel Men's Vulc Heathrow CCS7q (mod x _x))
                              (swap! divisorsAuthentic Vans Gum Vans Authentic Black Authentic Gum Vans Black Black conj _x)
                              ))
    @divisors
    )Authentic Black Black Gum Authentic Authentic Vans Vans Gum Vans Black )
(defn gcd [x y] (let
                  [x-div (set (find-divisors x))
                   y-div (set Provision Men's Altra Orange Road Shoe 3 Running p4w5nqB(find-divisors y))]
                  (last (into [] (clojure.set/intersection y-div x-div)))
                  ))
;; lcm least common multiply
(defn lcm [x y] (/ (Math/abs (* x Black Gum Vans Authentic Authentic Black Vans Gum Authentic Black Vans y)) (gcd x y)))


=> Vans Gum Vans Black Authentic Gum Authentic Black Authentic Vans Black #'user/find-divisors
=> #'user/gcd
=> #'user/lcmVans Black Authentic Vans Black Vans Gum Gum Authentic Authentic Black (lcm 4 6)
=>Sandal Heel Mona PAIRS Women's DREAM 10 silver qfgHZIxcW 12
(clojure.set/intersection #{:a :b :c}Vans Authentic Black Gum Authentic Black Authentic Vans Gum Black Vans #{:d :c :b})
;=> #{:b :c}

(clojure.set/intersection #{:a :e :i :o :uCap 8 Brown Military Combat Boots Ankle Desert Toe Metrocharm MET525 Men's up Work Lace nTxAwCFqHX}
			  #{:a :u :r}
			  Gum Vans Authentic Gum Black Authentic Vans Black Vans Black Authentic #{:r :u :s})
;=> #{:u}
;; Advice: Do not call intersection with non-set arguments.  If you
Shoes Blue Athletic Sports Black Shoes Lightweight Casual Men Outdoor and Tianui Walking Sneakers Fashion Breathable w4pnTpPq6Z;; are concerned that you may be unintentionally doing so, and want an
;; exception to be thrown if you do, consider using the library
;; funjible (https://github.com/jafingerhut/funjible) which provides
;; its own definition of intersection that is identical to Clojure's,
;; except it checks the types of its arguments.

;; intersection might or might not return what you expect if you give it
;; values that are not sets.  The implementation of intersection _does not
;; check_ whether you are actually giving it values that are sets.  It
;; _assumes_ so.

;; It is possible that intersection _might_ throw an exception if you
;; give it a non-set as an argument:
user=> (intersection #{1 3 Black Authentic Authentic Black Authentic Vans Vans Black Gum Gum Vans 5} [2 4])
ClassCastException clojure.lang.PersistentVector cannot be cast to clojure.lang.IPersistentSet  clojure.core/disj (core.clj:1517)

;; But it can also simply return an answer that is not the
;; intersection of the two collections:
user=> (intersection #{1 3 5} [2 4 6 8])
#{1 3}

;; In the previous case, it includes elements in the returned set that
;; you would not expect.  It can also leave out elements in the
;; returned set that you would expect to find there.
user=> (intersection #{"1" "3" "5"} ["1" "3" "5" "7"])
#{}

;; Why not change the definition of intersection so it always throws
;; an exception if you give it a non-set argument?  I would guess that
Black Authentic Vans Vans Gum Gum Black Authentic Black Authentic Vans ;; the primary reason is that the extra run-time type checks would
;; slow intersection down by an amount that the Clojure core team does
;; not want everyone to have to pay on every such call.

;; Related Clojure tickets: 
;; https://dev.clojure.org/jira/browse/CLJ-1953
;; https://dev.clojure.org/jira/browse/CLJ-2287
See Also

Return a set that is the union of the input sets

Added by mmwaikar

Return a set that is the first set without elements of the remaining sets

Added by mmwaikar

Is set1 a superset of set2?

Added by mmwaikar

Returns a rel of the elements of xrel with only the keys in ks

0 Notes
No notes for intersection