Advertisement
Guest User

Untitled

a guest
Dec 26th, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     ;; slower
  2.     (let [[fdates & fvalues]
  3.                     (apply map vector
  4.                         (filter
  5.                             (fn [[date _]] (pred date))
  6.                             (apply map vector (ts :dates) (ts :values))))]
  7.                 (assoc ts :dates fdates :values fvalues)))
  8.     ;; faster
  9.     (let [[fdates fvalues]
  10.             (reduce
  11.                 (fn [[fdates fvalues] [date & values]]
  12.                     (if (pred date)
  13.                         [(conj fdates date) (map conj fvalues values)]
  14.                         [fdates fvalues]))
  15.                 [[] (repeat [])]
  16.                 (apply map vector (ts :dates) (ts :values)))]
  17.             (assoc ts :dates fdates :values fvalues)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement