adaptive-cubature-0.1.0.0: C/vwrapper.h
/* vectorized wrapper around non-vectorized integrands */
typedef struct fv_data_s { integrand f; void *fdata; } fv_data;
static int fv(unsigned ndim, size_t npt,
const double *x, void *d_,
unsigned fdim, double *fval)
{
fv_data *d = (fv_data *) d_;
integrand f = d->f;
void *fdata = d->fdata;
unsigned i;
/* printf("npt = %u\n", npt); */
for (i = 0; i < npt; ++i)
if (f(ndim, x + i*ndim, fdata, fdim, fval + i*fdim))
return FAILURE;
return SUCCESS;
}