[Rd] ** operator
Roger Bivand
Roger.Bivand at nhh.no
Thu May 15 16:20:45 CEST 2008
On Thu, 15 May 2008, Barry Rowlingson wrote:
> Duncan Murdoch wrote:
>
>> It's fairly unlikely to go away, but it's an old undocumented feature, so
>> use at your own risk. There are lots of other undocumented features, but
>> maybe no others at the lexical level. Check out src/main/gram.y if you
>> want to search for more at that level, and src/* if you want them at any
>> level.
>
>
> I just had a quick browse in the source and I can't see where "**" is
> defined. names.c relates ^ to the power operation in arithmetic.c but no sign
> of "**":
>
> ./names.c:{"^", do_arith, POWOP, 1, 2, {PP_BINARY2,
> PREC_POWER, 1}},
>
> grepping for POWOP doesn't help.
>
> It's not an operator like '*':
>> get("**")
> Error in get("**") : variable "**" was not found
>> get("*")
> function (e1, e2) .Primitive("*")
>
> and there's no ** in gram.y.
>
> searching for 'power' and quoted "**" doesn't help me either. Searching for
> unquoted ** just produces too much C code to be useful.
>
> It's got to be there somewhere!!!
Is there a clue in:
> "^"(5, 2)
[1] 25
> "**"(5, 2)
Error: could not find function "**"
> 5 ^ 2
[1] 25
> 5 ** 2
[1] 25
that is, it is truly obfuscated and not accessible using contemporary
interfaces?
Roger
>
> Barry
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-devel
mailing list