Greetings:

I am trying to use bit-shift-left and/or bit-shift-right with the
first arg being a number that is larger than 32 bits, so it cannot be
an int, and the second arg must be a variable, not a constant, e.g.

(set! *warn-on-reflection* true)

(defn my-left-shift [a-is-bigger-than-int b-is-run-time-variable]
  (let [#^java.lang.Number a a-is-bigger-than-int
        b (int b-is-run-time-variable)]
    (bit-shift-left a b)))

(defn my-left-shift-by-2 [a-is-bigger-than-int]
  (let [#^java.lang.Number a a-is-bigger-than-int]
    (bit-shift-left a 2)))

I cannot figure out how to avoid a reflection warning for the first
bit-shift-left call.  The second example one above is fine,
apparently.

Any ideas?

Thanks,
Andy

-- 
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