[Rd] array indexes in C
Benjamin Tyner
btyner at stat.purdue.edu
Sun Nov 19 15:55:17 CET 2006
Tamas,
You could write convenience functions, but I have used the C99 mechanism
for variable length arrays with no problems calling from R. One thing
you have to keep in mind though is that (as far as I know) the
dimensions must be passed before the array reference. So for example,
r <- .C("foo",
as.integer(ni),
as.integer(nj),
x = double(ni * nj),
...)
with your function defined as
void foo(int *ni, int *nj, double x[*ni][*nj])
{
...
Then in C you can access elements of x via x[3][4], for example.
Ben
More information about the R-devel
mailing list