On Sat, Feb 18, 2012 at 9:39 PM, SF <sf.ro...@gmail.com> wrote: > On Sat, Feb 18, 2012 at 9:18 PM, Robby Findler wrote: >> I'm not sure of the precise answer, but I don't think that all floats >> (even the integers) have a corresponding fixnum. > > My C brain wonders why I can't just cast it to get the lower bits, I > don't care about overflow.
I'm not sure if this will fit in with how Typed Racket works, but I guess you could write an ffi-based function that actually fiddles with the low-level representation to just get at the bits you want. But, actually, I think that maybe that won't work because Racket's floats are usually boxed, unless the compiler can "see" everywhere they go and can manage to pass around unboxed versions (something that TR facilitates, I believe). So, if you were to pass them off to an unknown (from the compiler & TR's perspective) function, then they'd fall back to boxing and you'd lose all the efficiency gains. I guess there would have to be some new primitive added to make this work. Of course, I could be missing out on one of the existing prims. Maybe one of the TR/runtime system experts'll fill us in. Robby ____________________ Racket Users list: http://lists.racket-lang.org/users