3 [clojure.contrib test-is]))
5 (defn filtered-accumulate [predicate? combiner null-value term a next b]
8 (combiner (term (if (predicate? a)
11 (filtered-accumulate predicate?
19 (deftest test-filtered-sum-of-primes-from-1-to-10
20 (is (= (filtered-accumulate prime? + 0 identity 1 inc 10)
21 (reduce + (filter prime? (range 1 11))))))
23 (deftest test-filtered-prod-of-relative-primes-of-10
24 (is (= (filtered-accumulate #(= 1 (gcd % 10)) * 1 identity 1 inc 10)
25 (reduce * (filter #(= 1 (gcd % 10)) (range 1 11))))))