Those are runtime casts, this is the expected behaviour (although one could argue that clojure should be able to optimize them away at compile time).
If you want to avoid the runtime casting, you can do something like this: (let [x (float 123)] (defn y [..] (.foo bar x))) > On 24 Feb 2016, at 10:53, Michael du Breuil <wicked.shell.scri...@gmail.com> > wrote: > > The following (this is interop with libgdx if anyone is curious, > hud-corner-top-left is a delayed TextureRegion > > (.draw batch ^TextureRegion @hud-corner-top-left > (float -199) > (float -32)) > > Which yields the following: > > .draw((TextureRegion)((IFn)const__5.getRawRoot()).invoke(const__41.getRawRoot()), > > RT.uncheckedFloatCast(-199L), > RT.uncheckedFloatCast(-32L));null;((SpriteBatch)batch) > > Unless I'm missing something on how to interpret bytecode :) I can post more > source if you want but that is one interop call and its generated code, the > rest will look the same. > > On Wednesday, February 24, 2016 at 3:44:11 AM UTC-7, Nicola Mometto wrote: > Can you post the code? > > > On 24 Feb 2016, at 10:26, Michael du Breuil <wicked.she...@gmail.com> > > wrote: > > > > I have some interop code that I have carefully specified all the arguments > > to be in the correct type (IE the function signature takes 3 floats, so I > > cast everything to float so that I can avoid reflection). What I'm > > surprised by is compile time constants such as (float -173) or (float 8.5) > > are not saved as the correct primitive type, using jd-gui I see that these > > were actually turned into RT.uncheckedFloatCast(-173L), and > > RT.uncheckedFloatCast(8.5D), respectively. Why isn't this just saved as a > > the correct primitive directly in the generated bytecode? This is with > > clojure 1.8.0 > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Clojure" group. > > To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. > > > -- > 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/d/optout. -- 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/d/optout.