Hi,
Nice solution, but don't we need to distinguish between the array types ?
(cf. inline comment below )
Cheers,
B.
On Monday, February 25, 2013 12:08:39 AM UTC+1, Aria Haghighi wrote:
>
> […] Here, I think it's a macro you'll probably use all over the place,
> arr-max, which will find the largest value of an expression looping over an
> array's index and values. Then lcs is just nested uses of arr-max that I
> think is pretty reasonable. The thing which clutters the remaining code are
> the prev/cur swapping which I don't have a slick way of handling.
>
> (defmacro arr-max
> "return maximum value of `expr` over the indices
> and values of array `arr`, where `idx-symb` and `val-symb`
> are bound to index and values of `arr`"
> [arr idx-symb val-symb expr]
> `(let [arr# ~arr
> n# (alength arr#)]
> (loop [~idx-symb 0 max-val# java.lang.Long/MIN_VALUE]
>
>
Shouldn't we select java.lang.Double/NEGATIVE_INFINITY for arrays of
Doubles ?
(if (= ~idx-symb n#)
> max-val#
> (let [~val-symb (aget arr# ~idx-symb)
> val# ~expr]
> (recur (inc ~idx-symb)
> (if (> val# max-val#)
> val# max-val#)))))))
>
>
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.