FW: [R] Advice for calling a C function
Tuszynski, Jaroslaw W.
JAROSLAW.W.TUSZYNSKI at saic.com
Tue Apr 26 19:19:54 CEST 2005
I think it is a problem with matrices in R and C being stored in different
row/column order
> void gowsim ( double *mat, int *OBJ, int *MATDESC) {
> double x [*MATDESC][*OBJ];
> int i, j, nrow, ncol;
> nrow = *OBJ;
> ncol = *MATDESC;
>
> /* Rebuild Matrix */
> for (j=0; j < ncol; j++) {
> for (i=0; i < nrow; i++) {
> x[i][j] = *mat;
Swapping x[i][j] to x[j][i] should fix the problem. Sorry, I did not test
it.
> Rprintf("row %d col %d value %f\n", i, j, x[i][j]);
> mat++;
> }
> }
> for (i=0; i< nrow; i++) {
> Rprintf("%f %f %f %f\n", x[i][0], x[i][1], x[i][2], x[i][3]);
> }
>}
Jarek
====================================================\=======
Jarek Tuszynski, PhD. o / \
Science Applications International Corporation <\__,|
(703) 676-4192 "> \
Jaroslaw.W.Tuszynski at saic.com ` \
More information about the R-help
mailing list