On Jun 29, 2011, at 1:45 AM, David Sletten wrote:
> 
> (defn compute-contrib [daily-values total-values]
>   (loop [contrib []
>          daily-values daily-values
>          total-values total-values]
>     (if (empty? daily-values)
>       contrib
>       (recur (conj contrib (* (first daily-values) (reduce (fn [sum 
> total-value] (* sum (+ (/ total-value 100.0) 1.0)))
>                                                            1.0
>                                                            (rest 
> total-values))))
>              (rest daily-values)
>              (rest total-values)))) )
> 

Arrgghh! Now you've got me doing it too... :)

Replace 'sum' with 'product':
(defn compute-contrib [daily-values total-values]
  (loop [contrib []
         daily-values daily-values
         total-values total-values]
    (if (empty? daily-values)
      contrib
      (recur (conj contrib (* (first daily-values) (reduce (fn [product 
total-value] (* product (+ (/ total-value 100.0) 1.0)))
                                                           1.0
                                                           (rest 
total-values))))
             (rest daily-values)
             (rest total-values)))) )


Have all good days,
David Sletten




-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to