[Rd] Initializing a large data structure to be accessed strictly within a shared C library
James Muller
james.s.muller at gmail.com
Wed Dec 28 02:36:17 CET 2011
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--
More information about the R-devel
mailing list