Thanks Duncan, you've unclogged my thinking. For anybody interested, see below a sketch of the solution.
Cheers, James --START SKETCH OF SOLUTION-- #include <R.h> #include <Rinternals.h> static typedef struct { int nrow, ncol; double *data; } _myparticle_data_struct; static _myparticle_data_struct myparticle_data; void myparticle_init() { // Before we begin, call this from .Call() to Ralloc() memory and load the // data into to myparticle_data.data } void myparticle_free() { // When we're done with the PSO, .Call() to Free() the data } void myparticle_eval(double *value, double *x) { // .Call() to evaluate the value *value given vector x[] } --END SKETCH OF SOLUTION-- ______________________________________________ R-help@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.