[R] [Rd] Multiplication

Barry Rowlingson B.Rowlingson at lancaster.ac.uk
Fri Jan 6 16:26:10 CET 2006


[crossed over to r-help since its not a bug and not a devel thing any more]

Thomas Lumley wrote:

> So is -2^2.  The precedence of ^ is higher than that of unary minus. It 
> may be surprising, but it *is* documented and has been in S for a long 
> time.

And just about every other programming language:

Matlab:

 >> -2^2

ans =

     -4


Maxima:

(C1) -2^2;
(D1) 				      - 4

Fortran:
       print *,-2**2
  -4

Perl:

$ perl -e 'print -2^2'
4294967292

  Oops. I mean:

$ perl -e 'print -2**2'
-4

  The precendence of operators is remarkably consistent over programming 
languages over time. It seems natural for me now that ^ is done before 
unary minus, but I don't know if that's because I've been doing that for 
25 years or because its really more natural.

  Anyone got a counter example where unary minus is higher than power?

Barry




More information about the R-help mailing list