[plt-scheme] inexact->exact
Why do you need inexact arithmetics?
Moth arithmetics are quite possible with exact numbers.
Could you describe your problem?
Perhaps I could help make it exact.
Katsmall T. Wise, Esquire
John Clements wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>
> On Friday, May 23, 2003, at 18:57 US/Eastern, Alex Peake wrote:
>
>> For list-related administrative tasks:
>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>
>> Is there a faster way to convert an inexact integer (4.0) to an exact
>> integer (4)?
>> (Context: I am using the result of floating point math to index into
>> a vector for a translation
>> value)
>>
>> I tried inexact->exact and it is very slow. I can find no other
>> references in Help Desk (with my
>> search guesses anyway).
>
>
> I could very well be wrong, but I'd guess there's no built-in way to
> speed this up. In the absence of static reasoning about the flow of
> values, there's no way that mzscheme can guarantee safety without
> performing run-time checks.
>
> If this is a real performance issue for you (and it sounds like it
> is), your best bet is probably to write a tiny C extension that
> performs the cast for you unsafely. To do the job right, what you'd
> really like is to write a small tool that can prove statically that
> the values that flow into this extension are always of a certain type
> (presumably a double or float). In fact, while you're at it, you might
> as well chop out another safety check by doing the vector lookup (you
> still need a bounds check, of course) while in the C code.
>
> hope this helps,
>
> john clements
>