[R] complex values in C

Therneau, Terry M., Ph.D. therne@u @end|ng |rom m@yo@edu
Sat Mar 14 03:25:01 CET 2026


I've often used the following paradym in C code to define a list object returned to R

     static const char *outnames[]= {"dvec", "A", "Ainv",  "P", ""};
     SEXP rval, stemp;
     double *dvec, *A, *Ainv;
     int *P;


     PROTECT(rval = mkNamed(VECSXP, outnames));
     stemp=  SET_VECTOR_ELT(rval, 0, allocVector(REALSXP, nc));
     dvec= REAL(stemp);
     stemp = SET_VECTOR_ELT(rval, 1, allocMatrix(REALSXP, nc, nc));
     A = REAL(stemp);

Then the code puts values into dvec[i] and etc. and finally returns rval.

I'm missing how to do this when returning a complex value.   I've looked through the 
"Writing R extension" manual and have come up dry.  What am I missing?

Terry T.


-- 
Terry M Therneau, PhD
Department of Quantitative Health Sciences
Mayo Clinic
therneau using mayo.edu

"TERR-ree THUR-noh"

	[[alternative HTML version deleted]]



More information about the R-help mailing list