Further, in Clojure <= 1.5.1, (= 1M 1.0M) => false. Please note, this behavior has changed in 1.6.
On Monday, January 6, 2014 12:21:13 PM UTC-6, Justin Kramer wrote: > > Shot in the dark: check that arguments passed to your memoized functions > use consistent typing. A BigDecimal such as 1M does not necessarily equal 1 > (a Long): > > > (= 1 1M) > false > > (== 1 1M) > true > > Your memoized functions could be recomputing values unnecessarily if > you're giving them different types of numbers. > > Justin > > On Monday, January 6, 2014 12:57:49 PM UTC-5, David James wrote: >> >> I've got a Clojure test suite that fails when run as whole but passes >> when run piecemeal. This just started happening. I've tested the code >> thoroughly. The bug pops up in a part of the code that I did not change. >> So, at present, it feels like a heisenbug! >> >> These may be some relevant pieces: >> * I'm using memoization; the failures happen in memoized functions. >> * I'm doing a lot of various precision BigDecimal math. >> >> Some tentative guesses: >> * Somehow one test is affecting another test >> >> Questions (there are speculative): >> * What are some possible ways that memoization might fail (e.g. return an >> incorrect value)? >> * Is it possible that higher memory usage could cause memoization results >> to get lost? >> >> Unfortunately, it is a sizable code base, and I don't have a small, >> reproducible example. Any suggestions? >> >> -David >> > -- -- 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 --- 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.