From ripley at stats.ox.ac.uk  Thu Oct  9 18:46:55 2003
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Thu Oct  9 18:46:02 2003
Subject: [Rd] S4 group generic Complex not working (PR#4483)
In-Reply-To: <200310091518.h99FIG0P006941@pubhealth.ku.dk>
Message-ID: <Pine.LNX.4.44.0310091725400.12863-100000@gannet.stats>

On Thu, 9 Oct 2003 saikat@stat.wisc.edu wrote:

> The Complex group generic for S4 methods is not working:
> 
>  > setClass('foo', representation(z='complex'))
> [1] "foo"
>  > setMethod('Complex', 'foo', function(z) callGeneric(z@z))
> [1] "Complex"
>  > Arg(new('foo', z=1+0i))
> Error in Arg(new("foo", z = 1 + (0+0i))) :
>          non-numeric argument to function
>  >

> The fix is to add
> 
>      if (DispatchGroup("Complex", call, op, args, env, &x))
> 	return x;
> 
> near the beginning of do_cmathfuns in complex.c.

I don't think that's right: that would set up an S3 group generic 
Complex, and there is no such thing.  That's not how S4 group generics are 
implemented, according to ?Complex.

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


[Rd] S4 group generic Complex not working (PR#4483)
Prof Brian Ripley