annotate src/rlm/web_stuff.clj @ 0:78a630e650d2

initial import
author Robert McIntyre <rlm@mit.edu>
date Tue, 18 Oct 2011 00:57:08 -0700
parents
children
rev   line source
rlm@0 1 (ns rlm.web-stuff)
rlm@0 2
rlm@0 3
rlm@0 4 ;;(from http://www.mail-archive.com/clojure@googlegroups.com/msg31123.html
rlm@0 5 (defn convolve [ns ms]
rlm@0 6 (let [ns (vec ns), ms (vec ms),
rlm@0 7 count-ns (count ns), count-ms (count ms)]
rlm@0 8 (loop [n 0,
rlm@0 9 y (transient (vec (repeat (dec (+ count-ns count-ms)) 0)))]
rlm@0 10 (if (= n count-ns) (persistent! y)
rlm@0 11 (recur (inc n)
rlm@0 12 (loop [m 0, y y]
rlm@0 13 (if (= m count-ms) y
rlm@0 14 (let [n+m (+ n m)]
rlm@0 15 (recur (inc m) (assoc! y n+m
rlm@0 16 (+ (y n+m) (* (ns n) (ms
rlm@0 17 m)))))))))))));;)
rlm@0 18
rlm@0 19