chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] <inexact> and <exact>


From: Felix Winkelmann
Subject: Re: [Chicken-users] <inexact> and <exact>
Date: Wed, 11 Aug 2004 07:47:47 +0200
User-agent: Opera M2/7.52 (Win32, build 3834)

On Tue, 10 Aug 2004 17:40:24 -0400 (EDT), Daniel B. Faken <address@hidden> wrote:

Hello,

  I am working with a C++ library which has methods that take a 'double'.
  Using declare(full_specialization, yes) I can get TinyCLOS to recognize
method calls when the parameter is of the form 1.0001, but not if it is
just '1' - I get an error looking for an <exact> method.
  This seems supported by R5RS saying that exactly one of exact? and
inexact? is true, but how can I get my methods to recognized exact numbers
as well?  (I don't really want to define an <exact> case for each one..)


I assume you  really require full_specialization, correct?

Is it possible for you to change the original code? Because then
you could use the "type" pseudo declaration:

#>!
__declare(full_specialization,yes)
__declare(type, "number;double;exact->inexact")
class Foo
{
public:
  number foo(number n) { printf("[%g]\n", n); return n * 2; }
};
<#

(print (foo (make <Foo>) 123.4))

; prints 123.4 and 246.8

But... provided, you use a patched version of easyffi.scm. ;-)
(mapping foreign types to classes didn't honor user-defined
types)

I'll submit a patch tonight.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]