[R] Use .Call interface

William Dunlap wdunlap at tibco.com
Thu Dec 6 21:09:19 CET 2012


You may have an unfinished statement in Projector.h, which you didn't show.
(The error message says line 5, which is immediately after #include "Projector.h".)

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Shangru Li
> Sent: Thursday, December 06, 2012 11:36 AM
> To: r-help at r-project.org
> Subject: [R] Use .Call interface
> 
> Hi
> 
> I've written the following program:
> 
> #include <R.h>
> #include <Rdefines.h>
> #include "Projector.h"
> 
> SEXP Projector2(SEXP L, SEXP G, SEXP W, SEXP xymod, SEXP modif){
>  int nprot=0;
>  PROTECT(L=AS_NUMERIC(L));nprot++;
>  PROTECT(G=AS_NUMERIC(G));nprot++;
>  PROTECT(W=AS_NUMERIC(W));nprot++;
>  PROTECT(xymod=AS_INTEGER(xymod));nprot++;
>  PROTECT(modif=AS_NUMERIC(modif));nprot++;
>  double *lptr; lptr=REAL(L);
>  double *gptr; gptr=REAL(G);
>  double *wptr; wptr=REAL(W);
>  int *xyptr; xyptr=INTEGER(xymod);
>  double *ifptr; ifptr=REAL(modif);
>  int *dimL; dimL=INTEGER(GET_DIM(L));
>  int *dimG; dimG=INTEGER(GET_DIM(G));
>  int *dimW; dimW=INTEGER(GET_DIM(W));
>  int *dimxy; dimxy=INTEGER(GET_DIM(xymod));
>  int *dimif; dimif=INTEGER(GET_DIM(modif));
>  SEXP ans;
>  PROTECT(ans=allocMatrix(REALSXP, dimG[0], dimL[1])); nprot++;
>  double *ansptr; ansptr=REAL(ans);
>  Projector(lptr, dimL, gptr, dimG, wptr, dimW, xyptr, dimxy, ifptr, dimif,
> ansptr);
>  UNPROTECT(nprot);
>  return ans;
> }
> 
> The question is that the function "Projector" runs well, but when I try:
> 
> R CMD SHLIB Projector2.c Projector.c
> 
> It shows:
> Projector2.c: In function 'Projector':
> Projector2.c:5:64: error: expected '=', ',', ';', 'asm' or '__attribute__'
> before '{' token
> Projector2.c:28:1: error: expected '{' at end of input
> make: *** [Projector2.o] Error 1
> Warning message:
> running command 'R CMD SHLIB Projector2.c Projector.c' had status 1
> 
> 
> What's the problem? Thanks all!
> 
> Regards
> 
> Li Shangru
> 
> --
> Department of Mathematics,
> National University of Singapore,
> Blk S17, 10 Lower Kent Ridge Road,
> 119076
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list