[rdnzl-announce] New version 0.9.3 (Was: (no subject))
Edi Weitz
edi at agharta.de
Fri Feb 17 13:15:32 UTC 2006
On Fri, 17 Feb 2006 00:49:16 -0500, "Dan Muller" <s8ctxw402 at sneakemail.com> wrote:
> My first post to this list...
Hi... :)
> Direct3D uses single floats throughout its interface, but in
> LispWorks for Windows, all floating point types are equivalent to
> double-float. So I've got this rather difficult situation, where
> RDNZL can never find a method if it takes a single float argument!
> Even if it could find it, a down-conversion from double to single
> float would be needed, which probably shouldn't occur implicitly.
>
> I tried explicitly calling System.Convert.ToSingle, but by the time
> I can get my hands on the return value, it has been turned back into
> a double! I haven't been able to figure out a way around this
> without modifying RDNZL, or writing some sort of .NET function that
> returned a boxed single. But I'm not sure that the latter wouldn't
> be unboxed, or that it would give the correct type for the method
> lookup in RDNZL.
Yeah, tough call. I don't see an easy general solution but for the
moment I've uploaded version 0.9.3 which offers the following
workaround:
<http://weitz.de/rdnzl/#*coerce-double-floats-to-single*>
You should be able to (temporarily) rebind this variable to T for
single float arguments. Well, UNLESS your .NET method's signature
contains both System.Single /and/ System.Double.
Let me know if that helps or if you have a better idea.
Cheers,
Edi.
More information about the rdnzl-announce
mailing list