aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/accumulators/examples.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/accumulators/examples.clj')
-rw-r--r--src/clojure/contrib/accumulators/examples.clj93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/clojure/contrib/accumulators/examples.clj b/src/clojure/contrib/accumulators/examples.clj
deleted file mode 100644
index b9dcbee5..00000000
--- a/src/clojure/contrib/accumulators/examples.clj
+++ /dev/null
@@ -1,93 +0,0 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Accumulator application examples
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(ns
- #^{:author "Konrad Hinsen"
- :skip-wiki true
- :doc "Examples for using accumulators"}
- clojure.contrib.accumulators.examples
- (:use [clojure.contrib.accumulators
- :only (combine add add-items
- empty-vector empty-list empty-queue empty-set empty-map
- empty-counter empty-counter-with-total
- empty-sum empty-product empty-maximum empty-minimum
- empty-min-max empty-mean-variance empty-string empty-tuple)]))
-
-; Vector accumulator: combine is concat, add is conj
-(combine [:a :b] [:c :d] [:x :y])
-(add [:a :b] :c)
-(add-items empty-vector [:a :b :a])
-
-; List accumulator: combine is concat, add is conj
-(combine '(:a :b) '(:c :d) '(:x :y))
-(add '(:a :b) :c)
-(add-items empty-list [:a :b :a])
-
-; Queue accumulator
-(let [q1 (add-items empty-queue [:a :b :a])
- q2 (add-items empty-queue [:x :y])]
- (combine q1 q2))
-
-; Set accumulator: combine is union, add is conj
-(combine #{:a :b} #{:c :d} #{:a :d})
-(add #{:a :b} :c)
-(add-items empty-set [:a :b :a])
-
-; Map accumulator: combine is merge, add is conj
-(combine {:a 1} {:b 2 :c 3} {})
-(add {:a 1} [:b 2])
-(add-items empty-map [[:a 1] [:b 2] [:a 0]])
-
-; Counter accumulator
-(let [c1 (add-items empty-counter [:a :b :a])
- c2 (add-items empty-counter [:x :y])]
- (combine c1 c2))
-
-; Counter-with-total accumulator
-(let [c1 (add-items empty-counter-with-total [:a :b :a])
- c2 (add-items empty-counter-with-total [:x :y])]
- (combine c1 c2))
-
-; Sum accumulator: combine is addition
-(let [s1 (add-items empty-sum [1 2 3])
- s2 (add-items empty-sum [-1 -2 -3])]
- (combine s1 s2))
-
-; Product accumulator: combine is multiplication
-(let [p1 (add-items empty-product [2 3])
- p2 (add-items empty-product [(/ 1 2)])]
- (combine p1 p2))
-
-; Maximum accumulator: combine is max
-(let [m1 (add-items empty-maximum [2 3])
- m2 (add-items empty-maximum [(/ 1 2)])]
- (combine m1 m2))
-
-; Minimum accumulator: combine is min
-(let [m1 (add-items empty-minimum [2 3])
- m2 (add-items empty-minimum [(/ 1 2)])]
- (combine m1 m2))
-
-; Min-max accumulator: combination of minimum and maximum
-(let [m1 (add-items empty-min-max [2 3])
- m2 (add-items empty-min-max [(/ 1 2)])]
- (combine m1 m2))
-
-; Mean-variance accumulator: sample mean and sample variance
-(let [m1 (add-items empty-mean-variance [2 4])
- m2 (add-items empty-mean-variance [6])]
- (combine m1 m2))
-
-; String accumulator: combine is concatenation
-(combine "a" "b" "c" "def")
-(add "a" (char 44))
-(add-items empty-string [(char 55) (char 56) (char 57)])
-
-; Accumulator tuples permit to update several accumulators in parallel
-(let [pair (empty-tuple [empty-vector empty-string])]
- (add-items pair [[1 "a"] [2 "b"]]))