Message-ID: <Pine.LNX.4.44.0310091725400.12863-100000@gannet.stats>
Date: 2003-10-09T18:46:02Z
From: Brian Ripley
Subject: S4 group generic Complex not working (PR#4483)
In-Reply-To: <200310091518.h99FIG0P006941@pubhealth.ku.dk>
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